Java教程

多线程基础

本文主要是介绍多线程基础,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

进程:一个程序,例如qq.exe
线程:cpu调度的最小单位,程序中不同的执行路径

实现多线程的2中方式: 继承Thread
实现runnable
线程池Executors.newCachedThread

Thread.sleep() 睡眠
join:一个线程等待另一个线程结束后继续执行

Thread.yield() 线程礼让(让出一下cpu,之后任然会被抢到,实际业务中用的很少)
stop:线程停止,实际没人会用
Thread.getState()获得线程当前的状态

线程的状态:

synchronzied 关键字:锁 (既保证原子性又保证可见性,可重入锁)

可重入锁:加锁方法内存调用该对象其他加锁方法,是可以的,不会锁住,叫做可重入锁

volitaile 保证可见性,禁止指令重拍,但是不保证原子性,所有需要用到unsafe类下automic的原子类
hotspot底层实现 对象头(64位),拿出2位表示是否被锁定

这篇关于多线程基础的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!