线程
ApacheCrazyFan
巨人的肩膀
展开
-
编程思想之多线程与多进程系列(1)
线程优先级 现在主流操作系统(如Windows、Linux、Mac OS X)的任务调度除了具有前面提到的时间片轮转的特点外,还有优先级调度(Priority Schedule)的特点。优先级调度决定了线程按照什么顺序轮流执行,在具有优先级调度的系统中,线程拥有各自的线程优先级(Thread Priority)。具有高优先级的线程会更早地执行,而低优先级的线程通常要等没有更高优先级的可执行线转载 2016-11-08 12:46:28 · 405 阅读 · 0 评论 -
JVM之 - 深入分析synchronized的JVM实现
本文转载自:http://www.jianshu.com/p/c5058b6fe8e5 深入分析synchronized的JVM实现 java内部锁synchronized的出现,为多线程的并发执行提供了一个稳定的环境,有效的防止多个线程同时执行同一个逻辑,本文不会讲如何使用synchronized,以HotSpot1.7的虚拟机为例,对synchronized的实现进行深入分析。转载 2017-01-03 14:41:55 · 2343 阅读 · 0 评论 -
为何stop()和suspend()方法不推荐使用
stop()方法作为一种粗暴的线程终止行为,在线程终止之前没有对其做任何的清除操作,因此具有固有的不安全性。 用Thread.stop()方法来终止线程将会释放该线程对象已经锁定的所有监视器。如果以前受这些监视器保护的任何对象都处于不连贯状态,那么损坏的对象对其他线程可见,这有可能导致不安全的操作。 由于上述原因,因此不应该使用stop()方法,而应该在自己的Thread类中置入一个标志,用于原创 2017-03-14 23:10:26 · 486 阅读 · 0 评论 -
线程的生命周期
1.线程的生命周期 线程是一个动态执行的过程,它也有一个从产生到死亡的过程。 (1)生命周期的五种状态 新建(new Thread) 当创建Thread类的一个实例(对象)时,此线程进入新建状态(未被启动)。 例如:Thread t1=new Thread(); 就绪(runnable) 线程已经被启动,正在等待被分配给CPU时间片,也就是说此时线程正在就绪队列中原创 2017-03-14 22:59:03 · 378 阅读 · 0 评论