摘要:
1、方法内的私有变量,不存在线程安全问题。非线程安全问题存在于实例变量(全局变量)中2、在方法上加synchronized表示,当第一个线程进入时方法加锁(其他方法无法调用)3、synchronized取得的锁是对象锁,而不是把一段代码或方法(函数)当作锁,所以哪个线程先执行带synchronized关键字的方法,哪个线程就持有该方法所属对象的锁Lock,那么其他线程只能呈等待状态,前提是多个线程... 阅读全文
随笔分类 - Java多线程
线程状态
2017-12-01 13:14 by 钰火, 261 阅读, 收藏, 编辑
摘要:
1.NEW:初始状态,线程被创建,但是还没有调用start()方法2.RUNNABLE:运行状态,Java线程将操作系统中的就绪(READY)和运行(RUNNING)两种状态笼统地称作“运行中”3.BLOCKED:阻塞状态,表示线程阻塞于锁4.WAITING:等待状态,表示线程进入等待状态,进入该状态表示当前线程需要等待其他线程做出一些特定动作(通知或中断)5.TIME_WAITING:超时等待... 阅读全文
main函数和线程的关系
2017-12-01 11:07 by 钰火, 1239 阅读, 收藏, 编辑
摘要:
https://github.com/mynawang/Java-Multi-Thread-Learning/blob/master/src/main/java/com/sedion/mynawang/basic/DiscoverThread.java java中运行一个main函数时,有多个其他线程也同时运行。如:Reference Handler线程,用于处理引用对象本身垃圾回收问题(软引用、... 阅读全文
线程的3种声明方式
2017-12-01 10:32 by 钰火, 929 阅读, 收藏, 编辑
摘要:
1.实现Runnable接口,重写run方法 实例化线程:new Thread(new MyselfThread()).start(); 2.继承Thread类,重写run方法,其实质也是实现Runnable接口 实例化线程:MyselfThread thread = new MyselfThrea 阅读全文