二进程的公用存储区是一个共享内存块想要用共享内存的办法来让两个进程交换数据一进程读数据,另外一个写数据读进程只要当有数据就读,写进程只要当数据被读出去则马上写新数据创建一个mutex可以实现一次读写,可是第二次第三次怎么办?用死循环还是其他??死循环会占用掉整个cpu的资源`请教解决办法

解决方案 »

  1.   

    用event1
    写线程写完数据时setevent
    通知读线程读数据,然后在resetevent
    ....
    按此模式
      

  2.   

    Mutex也可以照楼上讲的模式啊。
    不过要注意需要生成全局的Mutext和Event,即命名的Mutex或Event
      

  3.   

    读进程:
    waitformetux()
    read()
    releasemutex()
    这样完成一次读
    如果要上上面的重复
    那应该把上面的程序放到哪儿呢?
      

  4.   

    这里读写感觉用Event,流程上看的清楚些
      

  5.   

    to 回复人: oyljerry(☆勇敢的心☆-Paper Reviewing)你的意思是在线程中用死循环检测?