概念理解 在编程的时候,我们经常谈到:同步(synchronous)、异步(asynchronous)、阻塞(blocking)、非阻塞(noblocking) 同步(synchronous):就是需要完成某个操作时,在没有完成之前我们会一直等待,直...
并发编程
Linux可重入、异步信号安全和线程安全
下文是在看csapp的时候引发的一些思考,其实之前看anup的时候也有所了解,不过时间有点长了,所以有点忘记了,当再次在csapp看到这部分内容的时候有了更多的理解,于是在网上搜索之后,发现有一篇文章于我理解和...
乐观锁 VS 悲观锁
何谓悲观锁与乐观锁 乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活在悲观的人总是想着事情往坏的方向发展。这两种人各有缺点,不能不以场景而定说一种人好于另一种人。 悲观锁 总...
并发编程下利用原子操作实现递增id生成器
有时候我们在编写并发程序的时候需要产生一个递增的id分配给各不同的执行流,最简单的做法是用锁的方式来实现。但是似乎有更加简洁高效的做法,利用原子操作实现(其利用的是著名的compare and swap思想)。 废...