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 ...
![](https://s1.51cto.com/images/blog/201908/20/182af928a0b9eb7af11766256d697240.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3p
分类:
编程语言 时间:
2019-08-20 12:26:10
阅读次数:
77
![](https://s1.51cto.com/images/blog/201908/19/03b75bb079c3d5da86ff5396e78d39b6.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3p
分类:
编程语言 时间:
2019-08-19 11:18:35
阅读次数:
84
可重入锁:锁可以连续使用计数器+判断进入的线程是不是已经锁定的线程,如果是那就不用等待,直接使用publicclassmy{publicstaticvoidmain(String[]args){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
![](https://s1.51cto.com/images/blog/201908/18/31287e86bda93b447e38e10dd4b7720f.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3p
分类:
编程语言 时间:
2019-08-18 22:03:05
阅读次数:
74
单例模式对外只有一个对象,对内不管,比如每台电脑都只有一个的任务管理器1、构造去私有化2、内部提供私有静态属性--存储对象的地址3、提供公共的静态方法访--获取属性publicclassmy{//2、提供私有静态属性privatevolatilestaticmyinstance;//避免new对象时指令重排//1、构造器私有化privatemy(){}//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