`
jy02149522
  • 浏览: 48171 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

JAVA线程sleep(), join()的用法例程

    博客分类:
  • JAVA
阅读更多

先看一下比较简单的,sleep() join()的用法。

package thread1;

public class TreadTest implements Runnable {

	public static int a = 0;

	public void run() {
		for (int i = 0; i < 100; i++) {
			try {
				Thread.sleep(2000);
				a += 1;
				System.out.println("thread1" + i);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}

		}
	}
}

 这个类很简单,跑起来以后每个循环延迟2000,注意一点就可以了,Thread.sleep这个方法的延迟,是对于当前线程的延迟,而不是所有线程都去睡了。

 

第二个是主类

package thread1;

/**
 * @author Administrator
 * join方法的测试
 */
public class Test {
public static void main(String[] args) {
	TreadTest t = new TreadTest();
	Thread th = new Thread(t);
	th.start();
	try {
		th.join(20000); //运行TH线程20000毫秒后 执行下面
	} catch (InterruptedException e1) {
		// TODO Auto-generated catch block
		e1.printStackTrace();
	}
//	
//try {
//	//th.join(0);
//} catch (InterruptedException e) {
//	// TODO Auto-generated catch block
//	e.printStackTrace();
//}
for (int i = 0; i < 100; i++) {
	try {
		Thread.sleep(500);
		System.out.println("main" + i);
	} catch (InterruptedException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	
	
}
System.out.println(t.a);
}
}

 

大家可以运行起来看效果,底下的这个循环就是主线程,通过join这个方法进行对主线程和线程ThreadTest的先后执行,join不带任何参数时,说明要完全执行完当前线程后才允许其他线程运行,join(2000)代表先执行当前线程2000毫秒后允许其他线程。

分享到:
评论

相关推荐

    Boost_thread库例程

    `boost::this_thread::sleep`函数可以让当前线程休眠指定的时间。 4. **线程间的通信**:`boost::future`和`boost::promise`允许线程间的数据传递。一个线程通过`promise`设置数据,另一个线程通过`future`获取数据...

    c# 多线程(轮询,等待,回调)操作实例

    - 工作线程可能使用`Thread.Sleep()`模拟耗时操作,主线程则可能使用`Thread.Join()`或`async/await`等待其完成。 - 回调函数可能通过`Action`或`Func`委托定义,并在工作线程完成时被调用,更新控制台输出或其他...

    【YPP】Linux下的C编程例程

    在Linux下,可以使用POSIX线程(pthread)库,学习如何创建、同步和管理线程(`pthread_create`、`pthread_join`、`pthread_mutex`等)。 这些例程覆盖了C语言在Linux环境下的核心概念和实践,是提升系统级编程技能...

    python 锁的使用 python锁的使用例程python2可以直接运行,提供示例程序,供学习参考

    Python 锁的使用 在多线程编程中,同步机制是至关重要的,它确保了对共享资源的有序访问,防止数据竞争和不一致状态的发生。...无论是 Python2 还是 Python3,理解并正确使用锁都能提升多线程程序的稳定性和可靠性。

    嵌入式300-s-api函数

    4. **线程和并发**:在多任务环境中,线程API如`pthread_create()`、`pthread_join()`和`pthread_mutex_*`系列函数用于创建、同步和管理线程。线程间的同步可以使用互斥锁、条件变量等机制,确保资源安全共享。 5. ...

    Linux环境编程图文指南.rar

    最后,书中可能会讲解一些高级主题,如多线程编程(`pthread_create()`、`pthread_join()`等),异步I/O(AIO),以及系统性能分析和优化技巧。这些内容将帮助读者全面掌握Linux环境编程的深度和广度。 总之,...

Global site tag (gtag.js) - Google Analytics