![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程学习
牛八小圣
这个作者很懒,什么都没留下…
展开
-
线程安全问题
线程安全问题定义1.原子性2.可见性3.有序性 定义 非线程安全主要是指多个线程对同一个对象的实例变量进行操作时,会出现值被更改,值不同步的情况。 线程安全问题表现为三个方面: 原子性,可见性和有序性 1.原子性 原子(Atomic)就是不可分割的意思. 原子操作的不可分割有两层 含义: 访问(读,写)某个共享变量的操作从其他线程来看,该操作要 么已经执行完毕,要么尚未发生, 即其他线程年示到当前操作的中 间结果 访问同一组共享变量的原子操作是不能够交错的 Java 有两种方式实现原子性: 一种是使用锁原创 2021-06-30 21:06:31 · 74 阅读 · 0 评论 -
多线程的优势与风险
多线程的优势与风险优势风险 优势 提高系统的吞吐率(Throughout). 多线程编程可以使一个进程 有多个并发(concurrent,即同时进行的)的操作 提高响应性(Responsiveness).Web 服务器会采用一些专门的线 程负责用户的请求处理,缩短了用户的等待时间 充分利用多核(Multicore)处理器资源. 通过多线程可以充分的 利用 CPU 资源 风险 线程安全(Thread safe)问题. 多线程共享数据时,如果没有采取 正确的并发访问控制措施,就可能会产生数据一致性问题,如原创 2021-06-30 20:46:51 · 74 阅读 · 0 评论 -
多线程生命周期
Java多线程生命周期 线程的生命周期是线程对象的生老病死,即线程的状态。 线程生命周期可以通过 getState()方法获得, 线程的状态是Thread.State 枚举类型定义的, 由以下几种: NEW新建状态 创建了线程对象,在调用 start()启动之前的状态 RUNNABLE可运行状态 它是一个复合状态, 包含:READY 和RUNNING 两个状态。 READY状态该线程可以被线程调度器进行调度使它处于RUNNING状态 ; RUNING 状态表示该线程正在执行.Thread.yi原创 2021-06-30 11:48:44 · 145 阅读 · 0 评论