我有多个线程,ThreadA 和 ThreadsB-Z。
ThreadA 始终处于临界区,将数据从队列中弹出并在套接字上发送。
当从ThreadB 到ThreadZ 的任何线程要进入临界区时,它才希望ThreadA 离开临界区。然后它进入临界区,将一些数据推入队列并离开临界区。
我这里有两个问题:
- ThreadB-Z(想进入临界区的人)如何告诉 ThreadA 在要访问临界区时离开临界区。
- 我尝试使用 SetEvent 或 PostThreadMessage 的想法来告诉 threadA 离开临界区,但我无法处理任何事件或线程消息,因为 ThreadA 使用 while(1) 不断地将数据从队列中弹出并且没有消息循环或 WaitforSingleObject() 类型的东西来处理事件或线程消息:(
我就像陷入了这种境地。欢迎任何帮助/建议。提前致谢。