none
问个多线程同步访问的问题 RRS feed

  • 问题

  • 一个对象可以set,也可以get,多个线程同时set或同时get都是允许的,不考虑,

    我的问题是如何保证这个对象在set期间不被get,这个set过程可能持续一段时间,如果不等set操作结束就get,数据可能是不完整的,

    C#里有没有方便的解决方法,比如语法控制之类的。

    2011年7月29日 2:41

答案

  • C#里面可以用lock关键字

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2011年8月1日 20:35
    版主
  • dear

    您可使用 ReaderWriterLock

    http://www.dotblogs.com.tw/yc421206/archive/2011/01/14/20814.aspx


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2011年8月2日 2:51
  • 这个可以通过很多东西实现。最简单的就是 lock,然后就是 AutoResetEvent,或者 ReaderWriterSlim,或者 Interlocked,或者 volatile。
    Mark Zhou
    2011年8月3日 8:53

全部回复

  • C#里面可以用lock关键字

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2011年8月1日 20:35
    版主
  • dear

    您可使用 ReaderWriterLock

    http://www.dotblogs.com.tw/yc421206/archive/2011/01/14/20814.aspx


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2011年8月2日 2:51
  • 这个可以通过很多东西实现。最简单的就是 lock,然后就是 AutoResetEvent,或者 ReaderWriterSlim,或者 Interlocked,或者 volatile。
    Mark Zhou
    2011年8月3日 8:53