在JAVA中怎样能使一条语句延迟执行

在JAVA中怎样能使一条语句延迟执行,第1张

可以试试javalangThread里的sleep方法
public static void sleep(long millis)
throws InterruptedException在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此 *** 作受到系统计时器和调度程序精度和准确性的影响。该线程不丢失任何监视器的所属权。 参数:
millis - 以毫秒为单位的休眠时间。
抛出:
InterruptedException - 如果任何线程中断了当前线程。当抛出该异常时,当前线程的中断状态 被清除。

啦!
class MyThread implements Runnable {
@Override
public void run() {
Systemoutprintln("1、进入run()方法休眠");
try {
Systemoutprintln("2、线程休眠20秒");
Threadsleep(20000);//这里休眠20秒
Systemoutprintln("3、线程正常休眠完毕");
} catch (InterruptedException e) {
Systemoutprintln("4、线程发生异常休眠被中断");
return;//返回方法调用处
}
Systemoutprintln("5、线程正常结束run()方法体");
}
}
public class InterruptDemo {
public static void main(String[] args) {
MyThread mt = new MyThread();
Thread t = new Thread(mt,"线程A");
tstart();//启动线程
//========================================================
try {
Threadsleep(2000); //保证线程至少执行2秒
} catch (InterruptedException e) {
eprintStackTrace();
}
//========================================================
tinterrupt();//中断线程
}
}
另外,团IDC网上有许多产品团购,便宜有口碑

Java里面是通过对象锁来实现线程临界段,synchronized关键词比如,Class A 有 public synchronized void dosomething(){}那么对于A的一个实例a,同一时间内仅有一个线程在执行adosomething(),其他线程需要等到锁被此线程释放后(也就是adosomething()执行完以后)才能运行adosomething()或者synchronized(someInstance){。。。代码段}每个线程执行到第一行时,都要到someInstance去申请一把锁,这个过程会是一个阻塞过程(我是这么理解的),获得锁以后才能执行后续代码段,确保代码段里所涉及的变量在同一时间仅被一个线程 *** 作


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

原文地址: https://outofmemory.cn/yw/13400088.html

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

发表评论

登录后才能评论

评论列表(0条)

保存