
Linux
X-Programer
这个作者很懒,什么都没留下…
展开
-
线程死锁问题
所谓死锁是指多个线程因竞争资源而造成的一种僵局,多个线程被无限的阻塞,线程之间相互等待所需的资源,若无外力作用,这些进程都将无法向前推进。 死锁的产生,通常是下面的两种情况: 1.如果线程试图对同一个互斥量加锁两次,那么它自身就会陷入死锁状态,使用互斥量时, 2.如果程序使用多个互斥量时,如果允许一个线程一直占有第原创 2018-02-02 08:24:42 · 270 阅读 · 0 评论 -
Linux中的线程局部存储(一)
转载自:http://blog.youkuaiyun.com/cywosp/article/details/26469435在Linux系统中使用C/C++进行多线程编程时,我们遇到最多的就是对同一变量的多线程读写问题,大多情况下遇到这类问题都是通过锁机制来处理,但这对程序的性能带来了很大的影响,当然对于那些系统原生支持原子操作的数据类型来说,我们可以使用原子操作来处理,这能对程序的性能会得到转载 2018-02-04 16:58:39 · 746 阅读 · 0 评论 -
Linux中的线程局部存储(二)
转载自:http://blog.youkuaiyun.com/cywosp/article/details/26469435在Linux中还有一种更为高效的线程局部存储方法,就是使用关键字__thread来定义变量。__thread是GCC内置的线程局部存储设施(Thread-Local Storage),它的实现非常高效,与pthread_key_t向比较更为快速,其存储性能可以与全局变量相媲美转载 2018-02-04 17:00:41 · 560 阅读 · 0 评论