java让线程睡眠
‘壹’ java线程的几种状态
线程是一个动态执行的过程,它有一个从产生到死亡的过程,共五种状态:
1、新建(new Thread)
当创建Thread类的一个实例(对象)时,此线程进入新建状态(未被启动)
例如:Thread t1=new Thread();
2、就绪(runnable)
线程已经被启动,正在等待被分配给CPU时间片,也就是说此时线程正在就绪队列中排队等候得到CPU资源。例如:t1.start();
3、运行(running)
线程获得CPU资源正在执行任务(run()方法),此时除非此线程自动放弃CPU资源或者有优先级更高的线程进入,线程将一直运行到结束。
4、堵塞(blocked)
由于某种原因导致正在运行的线程让出CPU并暂停自己的执行,即进入堵塞状态。
正在睡眠:用sleep(long t) 方法可使线程进入睡眠方式。一个睡眠着的线程在指定的时间过去可进入就绪状态。
正在等待:调用wait()方法。(调用notify()方法回到就绪状态)
被另一个线程所阻塞:调用suspend()方法。(调用resume()方法恢复)
5、死亡(dead)
当线程执行完毕或被其它线程杀死,线程就进入死亡状态,这时线程不可能再进入就绪状态等待执行。
自然终止:正常运行run()方法后终止
异常终止:调用stop()方法让一个线程终止运行
‘贰’ java线程睡眠问题
首先这个睡眠是不一定的,a是固定睡眠的,但是不一定a睡完了b就立刻执行.这存在着线程抢时间片的问题,是随机的.而这个i呢,你定义好了是没错,但是每次拿来i+1的时候i都是一个新的,也就是说你的i+1只是当前方法中执行了,并没有去影响到成员变量i.
‘叁’ java中如何线程的睡眠与唤醒
classMyThreadextendsThread
{
publicMyThread()
{
super();
}
publicMyThread(Stringname)
{
super(name);
}
publicvoidrun()
{
for(inti=0;i<10;i++)
{
System.out.println(super.getName()+":"+i);
try
{
sleep(500);
}
catch(InterruptedExceptione)
{
System.out.println("线程被叫醒");
}
}
}
}
publicclassSleepTest
{
publicstaticvoidmain(String[]args)
{
MyThreadthread1=newMyThread("第1个线程");
MyThreadthread2=newMyThread("第2个线程");
thread1.start();
thread2.start();
}
}
‘肆’ Java线程中的sleep方法作用是啥,啥时候用此方法
sleep(毫秒数)是Thread类的静态方法。
使用时:Thread.sleep(毫秒数);
如Thread.sleep(1000);该线程睡眠1秒钟,之间此线程什么都不做。
等1秒钟之后,继续余下代码执行。
不过线程是没有保证的。也许1秒钟之后,该线程没有转为可运行状态,也是可能的。
‘伍’ JAVA-关于线程Sleep的问题!
main是主线程,而ta是你自己定义的线程。在主线程的运行下你的线程才运行,这不碍主线程的运行。
释放线程用“线程为空”就可以了。
‘陆’ 13.在Java中如果使正在运行的线程进入睡眠状态,可以调用线程的哪一个方法( )
您好,提问者:
此题选择sleep,wait是等待,stop是中断线程,notify是唤醒。
正确答案是:选择B项。
‘柒’ java多线程怎样让一个线程睡眠
可以使用sleep()方法。
sleep()方法拥有一个参数,它控制睡眠的长短,以毫秒计算。sleep()方法会抛出InterruptedException,所以一定在try-catch块里面使用它。
示例代码如下:
{
inti=0;
publicstaticvoidmain(String[]args){
Aa1=newA();
Aa2=newA();
a1.run();
a2.run();
}
publicvoidrun(){
while(++i<=100){
System.out.println(i);
try{
Thread.sleep(50);
}catch(Exceptione){
e.printStackTrace();
}
}
}
}
注意,sleep()方法并不保证线程醒来后进入运行,只能保证它进入就绪状态。
‘捌’ Java线程 一个线程,如何让它睡眠多少时间后有执行
楼上正解,不过首字母要大写
Thread.sleep(睡眠毫秒数);不过需要抛出InterruptedException异常.正确的写法是
try{
Thread.sleep(睡眠毫秒数);
} catch (InterruptedException e){
}
‘玖’ java中,能否让主线程睡眠
能,直接在主线程里调用Thread.sleep();即可
‘拾’ 关于java中线程的睡眠
是的。假如T1start,T2start后,T1执行一个循环休息10000毫秒,让出CPU,T2执行一个循环休息10000毫秒,让出CPU,这时T1比T2先睡醒,T1休息完成后继续执行后又休息,T2也休息完继续进行,就这样直到线程结束。