写在最前面 在上文java并发之volatile末尾有提到,volatile并不能保证++操作的线程安全。我们来通过一个简单的例子看下为什么。 ...
在Java并发编程中,volatile和synchronized都扮演者重要的角色。volatile又被成为轻量级的synchronized,它...
在并发编程中,我们可能经常需要用到线程安全的队列,java为此提供了两种模式的队列:阻塞队列和非阻塞队列。 注:阻塞队列和非阻塞队列如何实现线程...
ReentrantLock,可重入锁,支持一个线程对公有资源重复加锁。当然,ReentrantLock还支持公平性的获取锁和非公平性的获取锁。 ...
synchronized,在java并发编程中它一直都是元老级的角色。但是在大多数时候,如果能使用Lock大家可能都不会使用它,因为它是个重量级...
当多个线程同时更新公共变量,会导致线程不安全,通常大家可以会想到使用synchronized关键字或者Lock来解决这个问题,synchroni...
应用场景 当向Executor提交多个任务并且希望获得它们在完成之后的结果,如果用FutureTask,可以循环获取task,并调用get方法去...
引言 FutureTask实现了接口Future,同Future一样,代表异步计算的结果。当然,FutureTask除了实现Future接口之外...
ScheduledThreadPoolExecutor主要用来定期执行任务,或者是在给定的延迟之后运行任务。它的功能与Timer类似,但是比起T...
文集作者