摘要:
以下内容转自http://ifeve.com/compare-and-swap/: CAS(Compare and swap)比较和替换是设计并发算法时用到的一种技术。简单来说,比较和替换是使用一个期望值和一个变量的当前值进行比较,如果当前变量的值与我们期望的值相等,就使用一个新值替换当前变量的值。 阅读全文
posted @ 2017-06-17 16:47
EasonJim
阅读(1430)
评论(0)
推荐(0)
摘要:
以下内容转自http://ifeve.com/thread-pools/: 线程池(Thread Pool)对于限制应用程序中同一时刻运行的线程数很有用。因为每启动一个新线程都会有相应的性能开销,每个线程都需要给栈分配一些内存等等。 我们可以把并发执行的任务传递给一个线程池,来替代为每个并发执行的任 阅读全文
posted @ 2017-06-17 16:41
EasonJim
阅读(441)
评论(0)
推荐(0)
摘要:
以下内容转自http://ifeve.com/blocking-queues/: 阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列插入新的元素。同样 阅读全文
posted @ 2017-06-17 16:34
EasonJim
阅读(413)
评论(0)
推荐(0)
摘要:
以下内容转自http://ifeve.com/semaphore/: Semaphore(信号量) 是一个线程同步结构,用于在线程间传递信号,以避免出现信号丢失(译者注:下文会具体介绍),或者像锁一样用于保护一个关键区域。自从5.0开始,jdk在java.util.concurrent包里提供了Se 阅读全文
posted @ 2017-06-17 16:30
EasonJim
阅读(381)
评论(0)
推荐(0)
摘要:
以下内容转自http://ifeve.com/reentrance-lockout/: 重入锁死与死锁和嵌套管程锁死非常相似。锁和读写锁两篇文章中都有涉及到重入锁死的问题。 当一个线程重新获取锁,读写锁或其他不可重入的同步器时,就可能发生重入锁死。可重入的意思是线程可以重复获得它已经持有的锁。Jav 阅读全文
posted @ 2017-06-17 16:20
EasonJim
阅读(368)
评论(0)
推荐(0)
摘要:
以下内容转自http://ifeve.com/read-write-locks/: 相比Java中的锁(Locks in Java)里Lock实现,读写锁更复杂一些。假设你的程序中涉及到对一些共享资源的读和写操作,且写操作没有读操作那么频繁。在没有写操作的时候,两个线程同时读一个资源没有任何问题,所 阅读全文
posted @ 2017-06-17 16:14
EasonJim
阅读(856)
评论(0)
推荐(0)
摘要:
一、以下是具体分析: 以下内容转自http://fgh2011.iteye.com/blog/1771649: 使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的OpenJDK,那么到底什么是OpenJDK,它与Sun JDK有什么关系和区别呢 阅读全文
posted @ 2017-06-17 02:55
EasonJim
阅读(53345)
评论(1)
推荐(2)

浙公网安备 33010602011771号