线程Thread,有参数和参数
一、不带参数的
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading; namespace AAAAAA
{
class AAA
{
public static void Main()
{
Thread t = new Thread(new ThreadStart(A));
t.Start(); Console.Read();
} private static void A()
{
Console.WriteLine("Method A!");
}
}
}
二、带一个参数的
由于ParameterizedThreadStart要求参数类型必须为object,所以定义的方法B形参类型必须为object。
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading; namespace AAAAAA
{
class AAA
{
public static void Main()
{
Thread t = new Thread(new ParameterizedThreadStart(B));
t.Start("B"); Console.Read();
} private static void B(object obj)
{
Console.WriteLine("Method {0}!",obj.ToString ()); }
}
}
三、带多个参数的
由于Thread默认只提供了这两种构造函数,如果需要传递多个参数,我们可以自己将参数作为类的属性。定义类的对象时候实例化这个属性,然后进行操作。
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading; namespace AAAAAA
{
class AAA
{
public static void Main()
{
My m = new My();
m.x = ;
m.y = ; Thread t = new Thread(new ThreadStart(m.C));
t.Start(); Console.Read();
}
} class My
{
public int x, y; public void C()
{
Console.WriteLine("x={0},y={1}", this.x, this.y);
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading; namespace AAAAAA
{
class AAA
{
public static void Main()
{
My m = new My();
m.x = ;
m.y = ; Thread t = new Thread(new ThreadStart(m.C));
t.Start(); Console.Read();
}
} class My
{
public int x, y; public void C()
{
Console.WriteLine("x={0},y={1}", this.x, this.y);
}
}
}
四、利用结构体给参数传值。
定义公用的public struct,里面可以定义自己需要的参数,然后在需要添加线程的时候,可以定义结构体的实例。
/结构体
struct RowCol
{
public int row;
public int col;
}; //定义方法
public void Output(Object rc)
{
RowCol rowCol = (RowCol)rc;
for (int i = ; i < rowCol.row; i++)
{
for (int j = ; j < rowCol.col; j++)
Console.Write("{0} ", _char);
Console.Write("\n");
}
}
线程Thread,有参数和参数的更多相关文章
- 线程池ThreadPoolExecutor、Executors参数详解与源代码分析
欢迎探讨,如有错误敬请指正 如需转载,请注明出处 http://www.cnblogs.com/nullzx/ 1. ThreadPoolExecutor数据成员 Private final Atom ...
- JUC之线程池-三大方法-七大参数-四种拒绝策略
线程池:重点 三大方法 七大参数 四种拒绝策略 使用池化技术的理由: 我们的程序伴随着创建销毁线程十分浪费资源, 所以使用线程池,先创建线程,随用随取,用完归还 简单来说就是节约了资源. 使用线程池的 ...
- Lua 学习笔记(九)协同程序(线程thread)
协同程序与线程thread差不多,也就是一条执行序列,拥有自己独立的栈.局部变量和命令指针,同时又与其他协同程序共享全局变量和其他大部分东西.从概念上讲线程与协同程序的主要区别在于,一个具有多个线程的 ...
- 线程(thread)
线程(thread): 现代操作系统引入进程概念,为了并发(行)任务 1.进程之间的这种切换代价很高 2.通信方式的代价也很大基本概念: 1.线程是比进程更小的资源单位,它是进程中的一个执行路线(分支 ...
- 线程 Thread Runnable 守护线程 join MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- 转:线程Thread (1)
引言 1.理解多线程 2. 线程异步与线程同步 3.创建多线程应用程序 3.1通过System.Threading命名空间的类构建 3.1.1异步调用线程 3.1.2并发问题 3.1.3线程同步 3. ...
- [深入学习C#]C#实现多线程的方法:线程(Thread类)和线程池(ThreadPool)
简介 使用线程的主要原因:应用程序中一些操作需要消耗一定的时间,比如对文件.数据库.网络的访问等等,而我们不希望用户一直等待到操作结束,而是在此同时可以进行一些其他的操作. 这就可以使用线程来实现. ...
- C#实现多线程的方法:线程(Thread类)和线程池(ThreadPool)
简介 使用线程的主要原因:应用程序中一些操作需要消耗一定的时间,比如对文件.数据库.网络的访问等等,而我们不希望用户一直等待到操作结束,而是在此同时可以进行一些其他的操作. 这就可以使用线程来实现. ...
- C/C++ Muti-Thread多线程编程学习(之)线程Thread | 创建、运行、结束
文章目录 前言 线程 Thread 创建线程 CreateThread _beginthread _beginthreadex pthread_create 线程运行 结束线程 前言 多线程(Mu ...
- x264中重要结构体参数解释,参数设置,函数说明 <转>
x264中重要结构体参数解释http://www.usr.cc/thread-51995-1-3.htmlx264参数设置http://www.usr.cc/thread-51996-1-3.html ...
随机推荐
- xml 读取递归算法
xml 读取递归算法:
- <转>人生与最速曲线
看完你好象发现了什么o(∩_∩)o 来源网络 来自为知笔记(Wiz)
- 在WCF中使用消息队列MSMQ
在WCF中使用消息队列MSMQ 在windows平台上,MSMQ是首选的消息传递中间件,它是一种高速.异步.可靠的通信机制,当我们在Internet上的两个应用需要交换信息时,使用这样的中间件可能是必 ...
- 修复Windows XP右键没有新建菜单问题
桌边上,点击鼠标右键,也没有排列图标菜单 开始-运行-输入:cmd输入命令:reg add "HKEY_CLASSES_ROOT\Directory\Background\shellex\C ...
- xpath轴的正确使用姿势
网上看了许多关于轴的介绍,只介绍了语法,而没有明说具体实际中该怎么使用,百思不得其解. 背景--python中使用xpath: ----------------------------------- ...
- javascript在html中的加载顺序
参考:[1]http://coolshell.cn/articles/9749.html(酷壳) [2]http://shaozhuqing.com/?p=2756 [3]http://www.cnb ...
- python用Tesseract读取图片中的中文,出现乱码
到http://download.csdn.net/detail/wanghui2008123/7621567下载中文简体包 然后找到tessdata目录,把eng.traineddata替换为chi ...
- fcitx error
(ERROR-2016 /build/fcitx-J2yftF/fcitx-4.2.9.1/src/lib/fcitx/ui.c:165) no usable user interface.(ERRO ...
- python练手项目
文本操作 逆转字符串--输入一个字符串,将其逆转并输出. 拉丁猪文字游戏--这是一个英语语言游戏.基本规则是将一个英语单词的第一个辅音音素的字母移动到词尾并且加上后缀-ay(譬如"banan ...
- const成员变量初始化总结
const可以用来声明常量也就是说他的值不能被修改: const成员必须在定义的时候同时初始化,不能进行赋值 如 const int a:a的值不能修改,不能给它赋值,如何才能让它一开始就拥有一个值? ...