多线程
取个名字真难!
起步有点晚的程序媛
展开
-
线程安全之原子操作
final在该对象的构造函数中设置对象的字段,当线程看到该对象时,将始终看到该对象的final字段的正确构造版本原子操作可以是一个步骤,也可以是多个操作步骤,但是其顺序不可以被打乱,也不可以被切割而只执行其中的一部分(不可中断性)将整个操作视作一个整体,资源在该次操作中保持一致,这是原子性的核心特征cas操作是保证原子性的1、循环+CAS,自旋的实现让所有线程都处于高频运行,争抢c...原创 2019-11-24 13:47:04 · 204 阅读 · 0 评论 -
线程安全之可见性
javac:执行前编译jit编译器(just In Time Compiler)脚本语言与编译语言的区别:解释执行(重点是一条条的去执行(一条条的解释成机器语言去执行 )):即咱们说的脚本,在执行时,由语言的解释器将其一条条翻译成机器可识别的指令编译执行(整体经过解释,编译去执行):将我们编写的程序,直接翻译成机器可以识别的指令码java代码:经过javac编译变成jvm...原创 2019-11-23 09:20:57 · 137 阅读 · 0 评论 -
线程操作介绍
一、线程创建方式有三种创建方式直接继承Thread类 实现Runnable接口 实现Callable接口(实现的是一个异步任务)二、线程的方法sleep join yield三、类的方法wait notify notifyAll四、线程上下文当前线程使用完时间片后,就会处于就绪状态并让出cpu让其他线程占用,这就是上下文切换五、线程死锁产生死锁的条件:...原创 2019-11-23 07:10:41 · 85 阅读 · 0 评论 -
多线程协作
一、线程创建方式有三种创建方式直接继承Thread类 实现Runnable接口 实现Callable接口(实现的是一个异步任务)二、线程的方法sleep join yield三、类的方法wait notify notifyAll四、线程上下文当前线程使用完时间片后,就会处于就绪状态并让出cpu让其他线程占用,这就是上下文切换五、线程死锁产生死锁的条件:...原创 2019-11-17 17:52:48 · 130 阅读 · 0 评论 -
线程基础
一、线程状态new:一个仍未开始的线程 runnable:一个线程正在被虚拟机执行或者等待cpu去处理(就绪) blocked:等待一个监控锁 waiting:一个线程在等待状态,是因为调用了下面这些方法 Object.wait,Thread.join,LockSupport.park timed_waiting:等待超时,时间过了,就不在等待 terminated:一个线程...原创 2019-11-17 08:58:31 · 89 阅读 · 0 评论