发送线程消息postthreadmessage 当线程b写完数据后,发送消息到线程a,线程a才开始读取
可以通过进程间通讯机制,管道,油槽,命名事件对象,socket,Windows消息等
这种在Windows系统中用共享内存通信的方法既原始又麻烦,还有程序崩溃的危险,改用消息吧。 要判断是否有人往共享内存中写入东西,当然是不停的读它,直到有东西;或者建立事件,通过事件消息(那还不如直接用消息通信)获得。
线程同步问题,可以使用互斥量、事件对象来进行同步,A线程在读取数据前用WaitForSingleObject等待一个同步对象,B线程写完数据后解锁同步对象,A线程便可以访问数据。 当然也可以用管道、邮槽来通信,默认情况下是阻塞的,A线程试图从管道、邮槽读数据时将被阻塞住,直到B线程往里面写了数据
[quote=引用 3 楼 jacksonfan 的回复:] 发送线程消息postthreadmessage 当线程b写完数据后,发送消息到线程a,线程a才开始读取
15,471
社区成员
49,181
社区内容
加载中
试试用AI创作助手写篇文章吧