深入浅出多线程系列之二:关于Thread的那些事
1:你可以调用线程的实例方法Join来等待一个线程的结束。例如:
public static void MainThread()
{
Thread t = new Thread(Go);
t.Start();
t.Join();
Console.WriteLine("Thread t has ended!");
}
static void Go()
{
for (int i = 0; i < 1000; i++)
Console.Write("y");
}在打印了1000个Y之后,后面就会输出”Thread t has ended!”.,
你可以在调用Join方法的时候给它一个timeout的参数,例如要超时一秒:
t.Join(1000);
t.Join(TimeSpan.FromSeconds(1));
2:为线程传递参数
为线程传递参数的最简单的方法莫过于执行一个lambda表达式,然后在方法里面给参数了,例如:
static void Main()
{
Thread t = new Thread(() =>补充:移动开发 , 其他 ,
- 更多wap疑问解答:
- 新人求助QPainter
- 为什么程序都退出了还可以收到推送?如果大多设备都可以推送那运营商怎么办?
- qt 4.7 sqlserver2000 存储过程调用
- 关于ANDROID4.0.1编译问题!
- Android FrameBuffer读屏幕30秒后mmap失败
- 联通粗定位用java程序如何来请求和接受数据
- 为什么QT运行Android平台的程序时,mouseMoveEvent事件响应的间隔时间很长??????????
- android与PC蓝牙通讯
- 指定大小的label 内容可变,如果内容超出label的宽度,将未能显示的部分显示在另一个label上
- Android调试
- android如何通过wifi连接无线打印机
- 运行程序,release目录下产生一个乱码文件夹
- 分享个某机构最新安卓资料,自己验证了
- service启动不起来,掉不了service connection
- 求助:QT5.0 没有QPrinter吗