有2个线程可同时读、删各自的vector中的指针(这指针指的是相同的一些对象),但会出现1个线程读出1个指针,准备操作过程中,另外的线程已把这指针删了,操作出错,怎么解决? 希望不要对整个vector加锁,我是个多线程新手,这是个“读写锁问题”吗?
希望有代码例子,谢谢。

解决方案 »

  1.   

    代码例子太大了,建议阅读《Windows核心编程》第10章。
      

  2.   

    留下E-Mail,偶给你发个例子。《WIN32多线程程序设计》也值得一读。
      

  3.   

    可以看些多线程的例子,《WIN32多线程程序设计》不错
      

  4.   

    [email protected] 请用汉字标题 垃圾mail太多了 谢谢
      

  5.   

    stl非线程安全,最好还是要做一下互斥
      

  6.   

    stl非线程安全? 文档中好象写着是线程安全的,我看错了?
      

  7.   

    When /MT, /MTd, /MD, or /MDd is used, the following thread-safety rules are in effect:Container Classes (vector, deque, list, queue, stack , priority_queue, valarray, map, multimap, set, multiset, basic_string, bitset) and complex
      

  8.   

    看看EnterCriticalSection
    和LeaveCriticalSection吧