文史百科 线程中sleep和wait的区别
Posted 线程
篇首语:坚志而勇为,谓之刚。刚,生人之德也。本文由小常识网(cha138.com)小编为大家整理,主要介绍了文史百科 线程中sleep和wait的区别相关的知识,希望对你有一定的参考价值。
Java中的多线程是一种抢占式的机制 而不是分时机制。
抢占式机制指的是有多个线程处于可运行状态,但是只有一个线程在运行。
共同点:
1. 他们都是在多线程的环境下,都可以在程序的调用处阻塞指定的毫秒数,并返回。
2. wait和sleep都可以通过interrupt方法打断线程的暂停状态,从而使线程立刻抛出InterruptedException。
如果线程A希望立即结束线程B,则可以对线程B对应的Thread实例调用interrupt方法。
如果此刻线程B正在wait/sleep /join,则线程B会立刻抛出InterruptedException,在catch 中直接return即可安全地结束线程
需要注意的是,InterruptedException是线程自己从内部抛出的,并不是interrupt方法抛出的。
对某一线程调用 interrupt时,如果该线程正在执行普通的代码,那么该线程根本就不会抛出InterruptedException。
但是,一旦该线程进入到 wait/sleep/join后,就会立刻抛出InterruptedException 。
不同点:
1. Thread类的方法:sleep,yield等
Object的方法:wait和notify等
2. 每个对象都有一个锁来控制同步访问。
Synchronized关键字可以和对象的锁交互,来实现线程的同步。
sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。
3. wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用
4. sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常 线程的调度
线程调度器按线程的优先级高低选择高优先级线程(进入运行中状态)执行,同时线程调度是抢先式调度,即如果在当前线程执行过程中,一个更高优先级的线程进入可运行状态,则这个线程立即被调度执行。
抢先式调度又分为:时间片方式和独占方式。
在时间片方式下,当前活动线程执行完当前时间片后,如果有其他处于就绪状态的相同优先级的线程,系统会将执行权交给其他就绪态的同优先级线程;当前活动线程转入等待执行队列,等待下一个时间片的调度。
在独占方式下,当前活动线程一旦获得执行权,将一直执行下去,直到执行完毕或由于某种原因主动放弃CPU,或者是有一高优先级的线程处于就绪状态。
相关参考
进程是指运行中的应用程序,每一个进程都有自己独立的内存空间。一个应用程序可以同时启动多个进程。例如对于IE浏览器程序,每打开一个IE浏览器窗口,就启动了一个新的进程。同样,每次执行JDK的java.e
进程是指运行中的应用程序,每一个进程都有自己独立的内存空间。一个应用程序可以同时启动多个进程。例如对于IE浏览器程序,每打开一个IE浏览器窗口,就启动了一个新的进程。同样,每次执行JDK的java.e
进程是指运行中的应用程序,每一个进程都有自己独立的内存空间。一个应用程序可以同时启动多个进程。例如对于IE浏览器程序,每打开一个IE浏览器窗口,就启动了一个新的进程。同样,每次执行JDK的java.e
“世界”是全部已知与未知事物的总称;“全球”是指整个地球。我们在生活中常见的一些词语中也可以看出两个词的区别:“世界未解之谜”、“互联网全球化”、“动物世界”、“全球首发”等等。“世界”可以指一种分类
相信在绝大多数朋友的认知中,古代的“县令”和“知县”都是一个意思,都是一县之长的称呼。造成这样的误解,大多是受古装影视剧的影响,影视剧中一会是称呼“知县”,一会又称呼“县令”,甚至将两者混为一谈。对于
熏肉和腊肉的区别:制作方法:腊肉是指肉经腌制后再经过烘烤(或日光下曝晒)的过程所制成的加工品。熏肉是五花肉中加入花椒、茴香、甜面酱等的佐料慢火焖煮而成的。2.营养价值:腊肉中磷、钾、钠的含量十分丰富,
熏肉和腊肉的区别:制作方法:腊肉是指肉经腌制后再经过烘烤(或日光下曝晒)的过程所制成的加工品。熏肉是五花肉中加入花椒、茴香、甜面酱等的佐料慢火焖煮而成的。2.营养价值:腊肉中磷、钾、钠的含量十分丰富,
熏肉和腊肉的区别:制作方法:腊肉是指肉经腌制后再经过烘烤(或日光下曝晒)的过程所制成的加工品。熏肉是五花肉中加入花椒、茴香、甜面酱等的佐料慢火焖煮而成的。2.营养价值:腊肉中磷、钾、钠的含量十分丰富,
1、宁玛派宁玛派为藏传佛教流派之一,由于该派的僧人都戴红色僧帽,所以也被称为红教。在各派中历史最久,形成于公元11世纪,"宁玛"在藏语中的意思是"古"和"旧"。所谓古,是说它的教理是从公元8世纪时传下