![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
TyStk
万物皆有法
展开
-
Java初识线程
1.无处不在的线程 进程(Process)通俗而言就是指运行中的程序,线程又称为“轻量级进程”,是由进程“创建”的,同一进程创建的所有线程,共同使用该进程的所有资源;也就是说,线程不是计算机资源的“请求”者,即,不是资源竞争者!比如一个运行的Java程序就是一个进程。从操作系统的角度看,线程(Thread)是进程中可以独立执行的子任务。一个进程可以包含多个线程,同一个进程中的线程共享该...原创 2018-07-06 18:39:47 · 270 阅读 · 0 评论 -
线程的状态与上下文切换
Java语言中,一个线程从其创建、启动到其运行结束的整个生命周期可能经历若干个状态,如下图所示。 Java线程的状态可以通过Thread实例的getState()方法获取。Thread.State所定义的线程状态包括以下几种。 NEW:一个刚创建而未启动的线程处于该状态。由于一个线程实例只能够被启动一次,因此一个线程只可能有...原创 2018-07-07 17:05:36 · 1845 阅读 · 2 评论 -
重新认识synchronized和volatile-----原子性、内存可见性和重排序
原子(Atomic)操作指相应的操作是单一的不可分割的操作。例如,对int型变量count进行count++的操作就不是原子操作。这是因为count++实际上可以分解为3个操作: 1)读取变量count的当前值; 2)拿count的当前值和1做加法运算; 3)将count的当前值增加1后的值赋值给count变量。1.S...原创 2018-07-07 19:34:11 · 486 阅读 · 1 评论