我开了好几个线程,但是它们都是用的同一个线程函数,这里会不会有什么副作用的?

解决方案 »

  1.   

    比如说我在线程函数中有等待
    WaitForSingleObject(hEvent, 300);
    hEvent在不同的线程中是不同的,它们能正确的响应吗?
    假设现在我SetEvent(线程1等待的hEvent);那么它就是线程1活动吗?不会影响其它线程吗?
      

  2.   

    如果每个线程中的事件对象不是同一个,就不互相影响。
    如果是同一个,那么就会同时影响所有线程,即signaled的时候所有线程的wait都返回。
      

  3.   

    hEvent在各个线程中应该公用一个,否则是达不到同步的效果的!可以使用CRITICAL_SECTION来进程线程之间的同步,由于她不是核心对象,所以运行起来速度快,效率也比较高!
      

  4.   

    应该是不会有太大的问题,但多了会占用cpu资源的用CEvent中的SetEvent()来实现同步.
      

  5.   

    to  codewarrior(会思考的草) 大侠 能解释一下“线程函数是否是可重入”吗  线程函数可重入是什么意思