![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java并发编程
文章平均质量分 77
‘胶己人’
这个作者很懒,什么都没留下…
展开
-
Java线程状态
因为Java代码层面可以将线程设置为就绪态,但是并不能将线程从就绪态转变为运行态,分配线程CPU时间本身是操作系统的任务调度器决定的,Java程序本身并不知道操作系统什么时候会唤起该线程,因此不存在Running状态。但是在学Java线程的时候,发现Java中的线程有6中状态,分别为:NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED。学习操作系统的时候,知道线程有5种状态,分别为:新建、就绪、运行、阻塞、终止。TERMINATED -- 终止。原创 2024-03-05 18:33:56 · 147 阅读 · 0 评论 -
synchronized关键字(锁升级)
synchronized是Java的一个关键字,用来保证多线程下临界区资源的共享安全性synchronized可以加在方法上(静态方法和普通方法)、代码块上使用语法:为什么需要加synchronized?由于在多线程环境下,对于共享资源(比如共享变量)的修改,可能会导致结果与预期不一致:以下有两个线程,分别对static变量进行多次+1和-1操作,最终结果预期为0,但由于单条java指令被编译成字节码后可能,因此会造成数据出错假如第一个线程取完指令并进行+1操作后,还没来得及存指令;原创 2024-03-13 01:06:42 · 640 阅读 · 0 评论