怎么在java main方法里用一个线程的sleep()方法让一个循环执行一次后阻塞一秒再循环下一次

怎么在java main方法里用一个线程的sleep()方法让一个循环执行一次后阻塞一秒再循环下一次,第1张

package comtarenafly;

public class asdfsd {

public static void main(String[] args) {

final Thread t1 = new Thread(){

public void run(){

int i = 0;

while(i<10){

Systemoutprintln("t1:"+i++);

try {

Threadsleep(500);

} catch (InterruptedException e) {

eprintStackTrace();

}

}

}

};

final Thread t2 = new Thread(){

public void run(){

int i = 0;

try {

t1join();

} catch (InterruptedException e1) {

e1printStackTrace();

}

while(i<10){

Systemoutprintln("t2:"+i++);

try {

Threadsleep(1000);

} catch (InterruptedException e) {

eprintStackTrace();

}

}

}

};

Thread t3 = new Thread(){

public void run(){

int i = 0;

try {

t1join();

t2join();

} catch (InterruptedException e1) {

e1printStackTrace();

}

while(i<10){

Systemoutprintln("t3:"+i++);

try {

Threadsleep(100);

} catch (InterruptedException e) {

eprintStackTrace();

}

}

}

};

Thread t4 = new Thread(){

public void run(){

int i = 0;

try {

t1join();

t2join();

} catch (InterruptedException e1) {

e1printStackTrace();

}

while(i<10){

Systemoutprintln("t4:"+i++);

try {

Threadsleep(100);

} catch (InterruptedException e) {

eprintStackTrace();

}

}

}

};

t1start();

t2start();

t3start();

t4start();

}

}

t3,t4都格式都一样,我就不排了。

join方法,等待其他线程结束之后再执行,你在T2里加上t1join,就是等待t1执行完,在执行自己的run方法,然后再其他线程里加上t1join;t2join 就OK了;

亲测,给分!

线程从阻塞状态恢复到就绪状态,有三种途径:自动恢复、用resume()方法恢复,notify方法恢复。

当编辑并运行一个Java程序时,需要同时涉及到这四种方面。使用文字编辑软件或集成开发环境在Java源文件中定义不同的类 ,通过调用类中的方法来访问资源系统。

把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与 *** 作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用。

扩展资料:

整数型用来存储整数数值,即没有小数部分的数值。可以是正数,也可以是负数。整数数据在Java程序中有3种表示形式,分别为十进制、八进制和十六进制。

自增和自减是单目运算符,可以放在 *** 作元之前,也可以放在 *** 作元之后。 *** 作元必须是一个整型或浮点型变量。自增、自减运算符的作用是使变量的值增1或减1。

放在 *** 作元前面的自增、自减运算符,会先将变量的值加1或减1,然后再使该变量参与表达式的运算。放在 *** 作元后面的自增、自减运算符,会先使变量参与表达式的运算,然后再将该变量的值加1或减1。

阻塞队列大小的调整是Java调优的一个重要环节,它可以帮助减少内存的使用,提升程序的运行效率。Java调优时,首先要考虑的是阻塞队列大小的设置。根据不同的应用场景,可以选择不同大小的队列,有效地调整系统性能。例如,如果应用程序的任务量较大,就要选择增大阻塞队列的大小,以减少任务的等待和拥塞情况;如果应用程序的任务量少,则可以选择减小队列的大小,以节省内存的使用。

如果要限制一段代码只能一个线程执行, 可以通过synchronized 关键字标识那个方法,

synchronized方法相当与调用了:

synchronized(this) {

}

对于java对象来说, 每个对象都包括一个线程互斥的锁, 执行了 synchronized(this) 后,相当于锁上了这个对象的互斥锁, 运行完方法后, 互斥锁会自动打开。

有关java多线程方面的编程, 最好参见:网页链接

java中线程有4种状态:

runnable,

blocked,

waiting,

timed_waiting

当一个线程运行至

inputstreamread()发生阻塞时,线程处于runnable。

以上就是关于怎么在java main方法里用一个线程的sleep()方法让一个循环执行一次后阻塞一秒再循环下一次全部的内容,包括:怎么在java main方法里用一个线程的sleep()方法让一个循环执行一次后阻塞一秒再循环下一次、JAVA语言中请写出线程从阻塞状态恢复到就绪状态的三种途径、java调优设置阻塞队列大小等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10143294.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存