C#多线程间传入值和返回值问题

不喜欢说那么多废话,直接上代码,不懂看注释!站在代码面前,一切问题将不再是问题!

一、不带参数的线程

class main
{
public static
void main( string [] args)
{
Thread th1
= new Thread(DoWork);
th1.Start();

Thread th2
= new Thread( new ParameterizedThreadStart(DoWorkWithParam));
object data = null ;
th2.Start(data);
}

private void DoWork()
{
// do something
}

private void DoWorkWithParam( object param)
{
string data = param.ToString();
// do something
}

}

二、带一个参数

class main
{
public static
void main( string [] args)
{
Thread th2
= new Thread( new ParameterizedThreadStart(DoWorkWithParam));
object data = null ;
th2.Start(data);
}

private void DoWorkWithParam( object param)
{
string data = param.ToString();
// do something
}

}


三、带两个及两个以上的参数

public class ThreadWithParams {
private string param1;
private int param2;

public ThreadWithParams( string param1, int param2 )
{
this . param1 = param1 ;
this . param2 = param2;
}

public void ThreadProc()
{
Console.WriteLine(param1, param2);
}
}

public class Main{
public static void Main()
          //初始化两个参数
ThreadWithParams twp
= new ThreadWithState( "i am param1" , 2 );
Thread t
= new Thread( new ThreadStart(twp.ThreadProc));
t.Start();

}
}

转载于:https://www.cnblogs.com/longle/archive/2011/06/25/thread.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值