并发
一心只敲圣贤码
勿忘初心
展开
-
进程和线程的区别
1)java对操作系统提供的功能进行封装,包括进程和线程。2) 运行一个程序会产生一个进程,进程包含至少一个线程。3)每个进程对应一个JVM实例,多个线程共享JVM里的堆。4)java采用单线程编程模型,程序会自动创建主线程。5)主线程可以创建子线程,原则上要后于子线程完成执行。...原创 2019-08-10 21:19:10 · 86 阅读 · 0 评论 -
线程的状态
官方文档声明了以下几种线程的状态。1.新建(New):创建后尚未开启的线程的状态(新创建了一个线程对象,但还没有调用start方法)。2.运行(Runnable):包含Running(正在执行)和Ready(就绪,等待cpu时间片)。处于Running状态的线程位于可运行介质之中,等待被线程调度选中,获取cpu的使用权。处于Ready状态的线程处于线程池中,等待线程调度选中,获...原创 2019-08-10 21:44:48 · 148 阅读 · 0 评论 -
sleep和wait的区别
1.sleep()是Thread类的方法,是native类型的。wait()是Object类中定义的方法,也是native类型的。2.sleep()方法可以再任何地方使用。wait()方法只能在synchronized或者synchronized块中使用。因为synchronized是用来加锁,wait是用来释放锁。两者最本质的区别:(1)Thread.sleep只会让出CPU,不会导...原创 2019-08-10 21:21:47 · 125 阅读 · 0 评论