C# 在C中向另一个线程传递消息#

C# 在C中向另一个线程传递消息#,c#,multithreading,communication,C#,Multithreading,Communication,我有一个线程在后台运行。如何从主线程发送it消息?我需要发送的唯一消息是'go'/'wakeup'使用该类。使用该类。如果您正在谈论唤醒一个睡眠线程-thread.Suspend()(wait)-thread.Resume()(go/wake up)如果您正在谈论唤醒一个睡眠线程-thread.Suspend()(wait)-thread.Resume()(go/wake up)使用或使用或如果您的线程在您希望它启动之前什么都不做,那么为什么要在您希望它启动之前启动它 如果您希望运行后台线程,然

我有一个线程在后台运行。如何从主线程发送it消息?我需要发送的唯一消息是'go'/'wakeup'

使用该类。

使用该类。

如果您正在谈论唤醒一个睡眠线程-thread.Suspend()(wait)-thread.Resume()(go/wake up)

如果您正在谈论唤醒一个睡眠线程-thread.Suspend()(wait)-thread.Resume()(go/wake up)

使用或

使用或

如果您的线程在您希望它启动之前什么都不做,那么为什么要在您希望它启动之前启动它

如果您希望运行后台线程,然后暂停/等待某个事件,然后继续,一个简单的方法是使用
EventWaitHandle
类族

一个简单的例子(摘自)。两个线程都应该可以访问以下内容:

private ManualResetEvent _workerWait = new ManualResetEvent(false);
然后,在工作线程中:

_workerWait.WaitOne();
现在,它将阻塞,直到主线程调用:

_workerWait.Set()

有关选项和一些示例的更完整的讨论,请参见:

如果您的线程在您希望它启动之前什么都不做,那么为什么要在您希望它启动之前启动它

如果您希望运行后台线程,然后暂停/等待某个事件,然后继续,一个简单的方法是使用
EventWaitHandle
类族

一个简单的例子(摘自)。两个线程都应该可以访问以下内容:

private ManualResetEvent _workerWait = new ManualResetEvent(false);
然后,在工作线程中:

_workerWait.WaitOne();
现在,它将阻塞,直到主线程调用:

_workerWait.Set()
有关选项和一些示例的更完整讨论,请参阅: