Thread是学习我们学习多线程接触到的第一个有关多线程的类,相信每一个学习过或者了解过Java多线程的小伙伴都知道Thread类。这次分享主要对Thread的start方法进行讲解。 相信大家都知道,start方法是启动一个线程,并且该线程进入了可执行状态。在实际的编码中,我们是重写run()方法 ...
分类:
编程语言 时间:
2019-08-24 00:27:34
阅读次数:
156
1, 2, 3,常用函数 lock中的wait,notify,notifyAll 4,相关例题 Answer-1: 解决办法: 注意这里使用lock-synchronized同步以及屏障 Answer-2: 解决方法: ①定义一个布尔标识符flag,决定轮替输出; ②设置一个lock-synchro ...
分类:
编程语言 时间:
2019-08-23 10:30:01
阅读次数:
315
这篇博客记录了Lock,ReentrantLock,ReentrantReadWriteLock类的使用以及其一些api: 码字不易~~另外《java多线程编程核心技术》这本书读着很爽 前言说明:之前为了解决多线程时的非线程安全问题,使用的是synchronized。接下来记录的是他的升级版本Ree ...
{mym=newmy();m.test();}publicvoidtest(){synchronized(this)//第一次获得锁{while(true){synchronized(this)//第二次获得
分类:
编程语言 时间:
2019-08-19 09:41:37
阅读次数:
86
ThreadLocal:每个线程自身的存储本地、局部区域,类似于容器,每个线程都会在其中有一定存储空间常用的方法get/set/initialValue官方建议为privatestatic每个线程存储自己的数据,更改不会影响其他线程ThreadLocal子类InheritableThreadLocal:继承上下文环境的数据publicclassmy{//Integer初始值为null//priva
分类:
编程语言 时间:
2019-08-19 00:20:08
阅读次数:
141
{}//3、提供公共静态方法访问属性publics
分类:
编程语言 时间:
2019-08-18 18:07:41
阅读次数:
118
volatile线程对变量进行修改后,立刻写回到主内存线程对变量读取的时候,从主内存中读取,而不是缓冲,避免了指令重排无法破除循环publicclassmy{privatevolatilestaticintnum=0;publicstaticvoidmain(String[]args)throwsInterruptedException{newThread(()->{while(num==0
分类:
编程语言 时间:
2019-08-18 17:44:30
阅读次数:
115