❶ java线程中的sleep方法作用是啥,啥时候用此方法
sleep(毫秒数)是Thread类的静态方法。
使用时:Thread.sleep(毫秒数);
如Thread.sleep(1000);该线程睡眠1秒钟版,之间此线程什权么都不做。
等1秒钟之后,继续余下代码执行。
不过线程是没有保证的。也许1秒钟之后,该线程没有转为可运行状态,也是可能的。
❷ Java中线程的几种可用状态有哪些请大家解释一下。
我理解的有5种:
1、创建,刚创建出线程对象,比如new Thread()
2、就绪,调用了start方法,但内此时并不是调用就立马被运行,容在这期间要让cpu执行你,在等待执行过程叫就绪也叫等待。cpu并不是立马执行,而是串行以极快速度切换进程的运行着
3、运行,正在运行了,创建出线程,脱离了主线程,进入run,天高任鸟飞
4、死亡,异常终止,或run执行完毕
5、阻塞,运行过程中,交出cpu执行权休眠。为什么要休眠?某些某些特定的条件等待条件成熟,这时候手动让线程休眠进入阻塞状态
线程之间但状态是可任意转换的,阻塞醒来就是就绪,运行中又阻塞,就绪运行死亡,等状态可切换。
还有一种是进程的状态
1、就绪,创建子进程,等待cpu调度执行
2、运行,运行程序
3、僵尸,运行完毕死亡等待收尸
3、暂停,被信号暂停,等待信号唤醒
4、阻塞,等待条件成熟,人为休眠。条件满足或唤醒
进程和线程状态,非常类似
❸ JAVA-关于线程Sleep的问题!
1.在ThreadA 中的run中sleep不会影响System.out.println("Main thread is running....");
2.run方法执行完,线程就结束了
❹ JAVA中,线程有哪五个基本状态他们之间如何让转化并简述线程周期。
java中,每个线程都需经历新生、就绪、运行、阻塞和死亡五种状态,线程内从新生到死亡的状容态变化称为生命周期。
用new运算符和Thread类或其子类建立一个线程对象后,该线程就处于新生状态。
❺ Java线程的几种状态
新建抄(new)
新建一个线程的对象。
可运行(runable)
线程对象创建后,其他线程调用该线程的start方法。或者该线程位于可运行线程池中等待被线程调用,已获取cpu的使用权。
运行(running)
可运行的线程获取了cpu的使用权,执行程序代码/
阻塞(block)
由于某些原因该线程放弃了cpu的使用权。停止执行。除非线程进入可运行的状态,才会有机会获取cpu的使用权。
1. 等待阻塞:运行中的线程执行wait方法,这时候该线程会被放入等待队列。
2. 同步阻塞:运行中的线程获取同步锁,如果该同步锁被别的线程占用,这个线程会成被放入锁池,等待其他线程释放同步锁。
3. 其他阻塞:运行的线程执行sleep或者join方法这个线程会成为阻塞状态。当sleep超时,join等待线程终止,该线程会进入可运行状态。
死亡(dead)
线程run mian 执行完毕后,或者因为某些异常产生退出了 run 方法,该线程的生命周期结束。
❻ java多线程怎样让一个线程睡眠
Thread提供的sleep方法,让线程睡眠,这样做是可以达到你的要求的。
但是,下面列举的一些方法,也能够实现相对意义上的“睡眠”:
可以使用Wait方法,让线程阻塞。
可以使用join方法,让线程合并。
可以使用lock方法,让线程互斥。