多线程
文章平均质量分 83
十一月上
ののののののののの
展开
-
Java多线程之线程状态转换
一、线程生命周期的五种状态 线程从创建、运行到结束总是处于下面五个状态之一:新建状态、就绪状态、运行状态、阻塞状态及死亡状态。二、线程状态转换...原创 2018-05-11 12:04:59 · 166 阅读 · 0 评论 -
Java多线程之线程创建与启动
一、线程与进程的区别二、线程的创建与启动1.继承Thread类创建线程类2.实现Runnable接口创建线程类3.使用Callable和Future创建线程三、三种创建方式的对比...原创 2018-05-08 14:22:45 · 243 阅读 · 0 评论 -
Java多线程之线程同步
线程安全问题在单线程中不会出现线程安全问题,而多线程编程中,如果多个线程同时操作同一个资源,这种资源可以是各种类型的的资源:一个变量、一个对象、一个文件、一个数据库表等,由于每个线程执行的过程是不可控的,比如两个线程同时检查某个文件是否存在,如果存在则文件数+1,不存在则创建新文件,最后产生的结果很可能创建两个新文件,原因就是第一个线程检测到文件不存在时,在创建新文件前,第二个线程也检测到文件...原创 2018-05-15 21:39:08 · 200 阅读 · 0 评论 -
volatile为什么不能保证原子性
首先要了解的是,volatile可以保证可见性和顺序性,这些都很好理解,那么它为什么不能保证原子性呢?可见性可见性与Java的内存模型有关,模型采用缓存与主存的方式对变量进行操作,也就是说,每个线程都有自己的缓存空间,对变量的操作都是在缓存中进行的,之后再将修改后的值返回到主存中,这就带来了问题,有可能一个线程在将共享变量修改后,还没有来的及将缓存中的变量返回给主存中,另外一个线程就对...原创 2018-07-27 14:13:11 · 52707 阅读 · 82 评论