package test.Thread;
import java.util.Date;
public class testSleep {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Thread1 t1 = new Thread1();
t1.start();
for (int i = 1; i < 5; i++) {
System.out.println("main thread times :" + i);
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
// e.printStackTrace();
System.out.println("main thread is interrupted");
}
}
t1.interrupt();
}
}
class Thread1 extends Thread {
@Override
public void run() {
// TODO Auto-generated method stub
while (true) {
System.out.println("this is Thread1 " + new Date());
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
// e.printStackTrace();
System.out.println("Thread1 is Interrupted");
return;
}
}
}
}
The result:
main thread times :1
this is Thread1 Fri Sep 05 20:38:25 CST 2008
this is Thread1 Fri Sep 05 20:38:27 CST 2008
this is Thread1 Fri Sep 05 20:38:28 CST 2008
this is Thread1 Fri Sep 05 20:38:29 CST 2008
this is Thread1 Fri Sep 05 20:38:30 CST 2008
main thread times :2
this is Thread1 Fri Sep 05 20:38:31 CST 2008
this is Thread1 Fri Sep 05 20:38:32 CST 2008
this is Thread1 Fri Sep 05 20:38:33 CST 2008
this is Thread1 Fri Sep 05 20:38:34 CST 2008
this is Thread1 Fri Sep 05 20:38:35 CST 2008
main thread times :3
this is Thread1 Fri Sep 05 20:38:36 CST 2008
this is Thread1 Fri Sep 05 20:38:37 CST 2008
this is Thread1 Fri Sep 05 20:38:38 CST 2008
this is Thread1 Fri Sep 05 20:38:39 CST 2008
this is Thread1 Fri Sep 05 20:38:40 CST 2008
main thread times :4
this is Thread1 Fri Sep 05 20:38:41 CST 2008
this is Thread1 Fri Sep 05 20:38:42 CST 2008
this is Thread1 Fri Sep 05 20:38:43 CST 2008
this is Thread1 Fri Sep 05 20:38:44 CST 2008
this is Thread1 Fri Sep 05 20:38:45 CST 2008
Thread1 is Interrupted
分享到:
相关推荐
在多线程代理IP测试中,我们可以为每个线程分配不同的代理IP,这样可以同时进行多个登录尝试,提高测试效率。例如,创建一个线程池,将每个登录任务作为参数传递给线程,每个线程负责一个登录流程。需要注意的是,多...
Express Logic's ThreadX for Win32 Demo Using Visual C/C++ This demo program is intended for use with the book titled "Real-Time Embedded Multithreading: Using ThreadX and ARM" by Edward L....
最近收集的VB.Net-C#多线程Thread-代理委托delegate编程。文章列表: c#.net多线程同步.txt C#WebBrowser页面与WinForm交互技巧一.txt C#多线程编程-多细全.txt C#多线程编程简单实例.txt C#多线程窗体控件安全访问....
操作系统实验中的“MFC线程--购票系统演示”是一个典型的多线程编程示例,它主要涉及了C++编程语言中的Microsoft Foundation Classes (MFC)库,以及操作系统层面的线程管理和线程同步概念。MFC是微软提供的一套面向...
C#中的`Random`类可以用来生成随机数,而`Thread.Sleep`方法可以用于模拟延迟,增加摇奖的真实感。 在多线程编程中,线程安全是必须考虑的问题。如果多个线程访问共享资源,可能会出现竞态条件,导致数据不一致。...
总之,`try-thread-sleep`是一个旨在解决前端开发中线程睡眠需求的开源库,通过智能地利用现有技术,尽可能地模拟出线程睡眠的行为,提高代码的可读性和控制性。对于需要控制执行顺序的复杂前端应用,这个库提供了...
【标题】"Bianco-Go-To-Hunt-Then-Sleep.zip" 提供的资源似乎是一个关于编程或软件开发的学习资料,尽管标题本身并不直接指示具体的技术主题。然而,我们可以根据通常的命名惯例来推测,这可能是一个项目、教程或者...
### Java多线程--让主线程等待所有子线程执行完毕 #### 核心知识点解析 在Java多线程环境中,让主线程等待所有子线程执行完毕是一个常见的需求,尤其是在处理大量数据或进行高性能计算时。这不仅有助于正确测量...
在Java多线程编程中,有时我们需要确保所有子线程执行完毕后再进行后续操作,例如在并发测试、数据聚合或资源清理等场景。本篇文章将详细介绍五种在Java中等待所有子线程执行完的方法。 ### 方法一:使用`sleep`...
sleep()方法使当前线程进入睡眠状态;join()让当前线程等待指定线程结束后再继续执行;yield()则让当前线程暂停,给其他线程执行的机会。interrupt()用于中断线程,配合isInterrupted()或interrupted()检查线程是否...
2. 线程安全测试:检查代码是否正确地处理了多线程环境下的数据访问。 3. 资源消耗测试:分析多线程运行时内存、CPU和其他资源的使用情况。 4. 并发测试:评估程序在高并发场景下的稳定性和响应能力。 5. 错误处理和...
总结来说,`wait()`和`sleep()`虽然都可以使线程暂停执行,但它们的目的和适用场景不同。`wait()`更多用于线程间的通信和协作,而`sleep()`则用于简单的延时控制。在实际开发中,根据具体需求选择合适的方法是非常...
然而,特定的库如"big-sleep"可能提供了更高级的功能,比如更精确的延迟控制、异步睡眠、多线程或并发环境下的睡眠管理,或者有其他定制化的特性,例如延迟执行任务的队列、定时任务等。 Python作为一门广泛使用的...
在Java编程中,多线程是一种重要的技术,它允许程序同时执行多个任务,从而提高效率和性能。在本示例中,“java多线程例子-生产者消费者”旨在展示如何利用多线程来实现生产者和消费者模式。这种模式是并发编程中的...
我只想要进程的某个线程休眠一段时间的,可是用sleep()是将整个进程都休眠的,这个可能达不到,我们想要的效果了。目前我知道有三种方式: 1、usleep 这个是轻量级的,听说能可一实现线程休眠,我个人并不...
开启过多线程,导致系统频繁切换多个线程,导致处理速度过慢,经常出现未响应。 代码经常写的换繁多无序,维护困难。 使用类似银行叫号系统 线程池内等待网络请求的任务=(排队的人) 最大三个线程=(银行柜台处理...
在探究JVM线程状态以及Thread.sleep的实现原理时,我们首先需要了解Java线程与操作系统线程之间的关系。在Java虚拟机(JVM)中,每个线程通常都是以一对一的关系映射到操作系统线程上的。然而,尽管两者在实现上是...
`sleep`, `yield`, 和 `wait` 是 Java 中用于线程管理的三个重要方法,它们各自有着不同的功能和用途。理解它们的区别有助于编写出更加高效和可控的多线程程序。 1. **sleep() 方法** - `Thread.sleep(millisecond...
`Thread.sleep()`方法让当前线程暂停执行指定时间,不释放锁,而`yield()`则让当前线程让出CPU执行权,但不释放锁,通常用于让相同或更高优先级的线程有机会执行。`join()`方法使得当前线程等待指定线程执行完毕后再...
- 守护(Timed Waiting):线程在等待一段时间或等待某个事件发生,如`sleep()`或`join()`。 - 结束(Terminated):线程执行完毕或被中断。 5. **线程优先级** - Java提供了10个级别的线程优先级,`Thread.MIN_...