
java多线程学习笔记
福尔摩康
这个作者很懒,什么都没留下…
展开
-
Java多线程学习笔记2——ThreadLocal
static在所属环境中,所有线程共享同一份数据,无论哪个线程调用,结构都是一致的。如果是一个普通的的变量会怎样?案例一、线程内的运行的结果不一致public class NewThreadOne { private int num = 0; //随机数 public static void main(String[] args) { NewThreadOn...原创 2018-02-09 10:54:18 · 233 阅读 · 0 评论 -
Java多线程学习笔记1——线程的实现方式以及定时器的使用
一、当一个匿名线程中初始化了runable对象,thread又重写了run方法,会触发哪个run方法呢? public static void main(String[] args) { new Thread( new Runnable() { //构造函数中传入了runable @Override public void run() { while (true) {原创 2018-01-28 22:18:28 · 212 阅读 · 0 评论 -
Java多线程学习笔记3——ReentranLock和ReentrantReadWriteLock
在java中实现的同步的方式有很多如同步工具类CountDownLatch,CyclicBarrier。synchronized方法,synchronized代码块。synchronized方法,有一定的局限性作用的区域受限,有时代码可能只需要方法中某一行或者几行代码要同步,不许要整个方法同步影响程序性能或则造成程序错误。这个时候可以使用synchronized代码块,而且代码块有更灵活的锁机...原创 2018-03-01 16:59:48 · 330 阅读 · 0 评论 -
Java多线程学习笔记4——lock锁Condition
Condition 实例实质上被绑定到一个锁上。要为特定 Lock 实例获得 Condition 实例,使用其 newCondition() 方法。Condition 将 Object 监视器方法(wait、notify 和 notifyAll)分解成截然不同的对象,以便通过将这些对象与任意 Lock 实现组合使用,为每个对象提供多个等待 set(wait-set)。其中,Lock 替代了 syn...原创 2018-03-02 11:00:36 · 347 阅读 · 0 评论 -
Java多线程学习笔记5——ThreadPoolExecutor
阿里代码规范中规定,线程资源必须通过线程池提供,不允许在应用中自行显示的创建线程。这样做的好处是减少在创建和销毁所花的时间和系统开销。不使用线程池可能造成创建大量同类线程而导致消耗内存或则“过度切换”的问题。并且规定线程池不允许使用Executors创建。那么创建线程的方式基本就依赖于ThreadPoolExecutor此类了。先了解下ThreadPoolExecutor的构造函数://...原创 2018-05-06 21:14:40 · 247 阅读 · 0 评论