我想知道在两个线程之间实现通信的最佳方式是什么。我有一个生成随机数的线程(类 Sender),现在我想要另一个线程(类 Receiver)来接收生成的随机数。 这是发件人:
public class Sender
{
public int GenerateNumber(){
//some code
return randomNumber;
}
}
当然在 Main 函数中我将启动这些线程:
static void Main(string[] args){
Sender _sender=new Sender();
Thread thread1=new Thread(new ThreadStart(_sender.GenerateNumber));
}
感谢你的帮助
最佳答案
如果您使用的是 .NET 4,我建议您使用更高级别的抽象: Task<TResult>
.您的第一个线程可以安排任务(这可能最终会创建一个线程,或安排在现有的任务处理线程上),然后可以检查状态、阻止结果等它认为合适。
如果您想做的不仅仅是一次完成的任务,您可能想要使用生产者/消费者队列 - 同样,.NET 4 通过 BlockingCollection<T>
帮助实现这一点.
关于c# - 线程,两个线程之间的通信c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8763761/