关于线程间共享数据互斥的思考

971阅读 0评论2011-10-16 web_surf
分类:C/C++

  1. 当多个线程需要访问相同的数据时,需要用锁实现互斥。
  2. 尽量不要对每个共享都创建一个锁,因为太多的锁容易出现死锁问题。可将这些共享数据放入一个struct/class中,然后对struct/class变量加锁,即增强可读性,也防止了死锁的出现。
  3. 互斥代码段要尽量短小,这样可以减少其它线程的等待时间。
  4. 在有的平台下,要防止在主线程中阻塞等待访问互斥共享变量过长(>3S),如Android,iOS。
上一篇:[SE] Git
下一篇:[Java] JSON