MoreThread
dong_dong2211
低调,取舍间,有得有失!
展开
-
Phaser 线程的阶段化处理
在日常生活中。我们做一件事情的时候,习惯把一件事情分为若干个阶段,然后规定每个阶段的任务和完成时间,从而实现阶段化的控制和管理,阶段化处理往往在完成某一项复杂工作时效率很高。 从JDK1.7版本开始引入类Phaser,它是Java并发库功能强大并且较复杂的一个功能,可以用来完成阶段式的并发执行任务的功能。 Phaser类直接从Object类继承,它是一个可复用的同步障栅,与Cycl...原创 2019-12-18 17:35:54 · 282 阅读 · 0 评论 -
ReentrantLock 的公平性的测试
可重入锁是一种无阻塞的同步机制, java.util.concurrent.locks包下 public class ReentrantLock extends Object implements Lock,Serializable 和同步锁具有相同的语义和行为,但扩展了许多功能 如:获取该锁时的公平性设置,测试锁,测试锁是否被持有,锁的获取顺序等。‘ 1)Reen...原创 2019-10-25 16:09:11 · 115 阅读 · 0 评论 -
线程的分类:用户线程和守护线程
守护线程和其他的线程没什么特别的不同,它的不同之处就是守护线程是为用户线程服务的,且优先级比较低。在java中当应用只剩下守护线程时,虚拟机就会退出,者主要因为守护线程没有的服务的线程了,自己运行也没有什么必要了。将一般线程变成守护的方法是setDaemon()。例如:Thread thread = new Tread();thread.serDaemon(true);th...原创 2019-10-25 15:06:14 · 249 阅读 · 0 评论 -
ReentrantLock 可重入锁
可重入锁是一种无阻塞的同步机制, java.util.concurrent.locks包下 public class ReentrantLock extends Object implements Lock,Serializable 和同步锁具有相同的语义和行为,但扩展了许多功能 如:获取该锁时的公平性设置,测试锁,测试锁是否被持有,锁的获取顺序等。 1)Reen...原创 2019-10-24 18:25:13 · 48 阅读 · 0 评论 -
Callable 和 Runnable的区别
1)Callable是有返回值的,而Runnable是没有返回值的。2)Callable执行入口的方法是call(),Runnable执行方法的入口是run();3)call()方法可以抛出异常,run()方法不可以4)运行Callable相当于启动一个异步的计算,将来再通过Fature得到运算结果,而且可以使用Fature中的cancel方法取消方法的执行。Runnable由于没有返...原创 2019-10-24 15:41:08 · 391 阅读 · 0 评论 -
线程本地化的变量ThreadLocal
ThreadLacal类是实现线程的本地化的对象 使用此类ThreadLocal将会使变量在每个线程的私有区域内有一个副本,每个线程都可以相对独立地改变自己的副本,而不影响其他线程的副本。总的来理解的话就是ThreadLocal这个类表示的不是线程,而是表示线程的一个变量。ThreadLocal类提供了方法set()和get()用于设置和获取线程的本地值。一个线程首次获取一个线程的本地对...原创 2019-10-23 17:07:10 · 212 阅读 · 0 评论