当前位置:首页 » 编程语言 » java让线程睡眠

java让线程睡眠

发布时间: 2022-08-05 07:56:51

‘壹’ 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也休息完继续进行,就这样直到线程结束。

热点内容
无需服务器搭建网站 发布:2025-01-22 21:53:34 浏览:114
旅游青蛙安卓版如何下载 发布:2025-01-22 21:52:51 浏览:317
欧文5的配置是什么 发布:2025-01-22 21:30:23 浏览:108
日志存储数据库 发布:2025-01-22 21:30:07 浏览:474
gulp上传cdn 发布:2025-01-22 21:27:34 浏览:203
emule文件夹 发布:2025-01-22 21:23:23 浏览:981
s7e什么时候推送安卓7 发布:2025-01-22 21:20:59 浏览:203
狐狸的清白脚本分析 发布:2025-01-22 21:19:59 浏览:182
如何破解仿射密码 发布:2025-01-22 21:13:53 浏览:81
百度视频存储 发布:2025-01-22 21:13:11 浏览:168