clwn.net
当前位置:首页 >> slEEp()会中止一个线程吗 >>

slEEp()会中止一个线程吗

线程的 setDaemon(true); 会将一个线程设置为 后台线程,后台线程与普通线程的区别在于,后台线程会随着主线程的退出而退出

线程在抛出异常时就会终止,还有就是运行到线程函数结束或者运行到退出线程的语句都会结束,SLEEP不会导致线程退出,它只会暂停线程的执行.一个新的线程在创建时可以指定其状态为立即运行或者就绪等待运行.

答案A,抛出异常后,线程终止,而不是停止或者休眠

sleep这个函数在MSDN上讲的很清楚,当传入0的时候会导致当前线程立即释放时间片给另一个同等优先级的线程去执行.如果没有另一个同等优先级的线程在等待执行,那么这个函数就立即返回,线程继续执行.这个意思就很清楚了啊.其效

切换效果是当本线程处理完毕才会执行下一个线程,你看到的sleep应该是写到while(1)里的,这里如果不sleep一下,那么代码会一直循环,下一个线程永远也不会执行的.

有两类方法一是通过Thread类的stop()方法,使用此类方法一般要在它的父线程中保存线程对象变量二是从线程函数中(使用return)主动退出,这种方法可以通过公共变量等方式实现线程间通讯已决定何时退出

在线程里添加一个结束标识,想要结束线程时吧标识置为True,可以结束线程 Hider和它的父类threading.Thread都没有__stop参数,当然会报错了

退出线程的run() 方法

import java.io.File;public class MyThread { public static void main(String[] args) { try { MyThread1 myThread1 = new MyThread1(); Thread t = new Thread(myThread1); t.start(); try { // 为看出效果让main方法线程休眠3秒 Thread.currentThread().sleep(

sleep() 方法可以使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁;所以当sleep()方法结束时;当前线程还是拥有对象锁;当线程拥有对象锁,那么此线程就直接进入就绪状态等待cpu的调度了至于什么时候运行就不知道了

网站首页 | 网站地图
All rights reserved Powered by www.clwn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com