博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 线程中的 join
阅读量:5290 次
发布时间:2019-06-14

本文共 1101 字,大约阅读时间需要 3 分钟。

package thread;import java.util.Arrays;import java.util.Random;public class Thread_join {	public static void main(String[] args) {		/**		 * 2个线程共享同一个数组,t1负责向数组中添加100个随机数,		 *  t2负责排序,其中t2要等待t1的结束再继续排序		 *  		 *  @author 清风已来		 *		 */		int[] arr = new int[100];		Thread t1 = new ThreadA(arr);		Thread t2 = new ThreadB(arr,t1);		t1.start();		t2.start();	}}// 负责生成100个随机数class ThreadA extends Thread {	int[] arr;	public ThreadA(int[] arr) {		this.arr = arr;	}	public void run() {		Random random = new Random();		for (int i = 0; i < arr.length; i++) {			arr[i] = random.nextInt(100);		}		// 输出数组中全部的数据		System.out.println(Arrays.toString(arr));	}}// 负责对100个数进行排序class ThreadB extends Thread {	int[] arr;	Thread t1;	public ThreadB(int[] arr,Thread t1) {		this.arr = arr;		this.t1 = t1;	}	public void run() {		try {			System.out.println("等待t1的结束!");			// 等待t1的结束			t1.join();			//t1已经正常结束,可以进行排序了			Arrays.sort(arr);			System.out.println(Arrays.toString(arr));		} catch (InterruptedException e) {			//等待t1结束期间,被其他线程打断,提前结束等待			e.printStackTrace();		}	}}

  

转载于:https://www.cnblogs.com/xyk1987/p/8267840.html

你可能感兴趣的文章
c++操作io常见命令
查看>>
页面JS引用添加随机参数避免页面缓存
查看>>
java的基础知识文件操作和标识符
查看>>
Tika解析word文件
查看>>
变量作用域
查看>>
.NET程序集签名
查看>>
4款开源免费的数据可视化JavaScript库
查看>>
Python操作列表
查看>>
js事件相关知识
查看>>
大二下学期学习进度(五)
查看>>
什么是multipart/form-data请求
查看>>
C# 采用Basic Auth传递Post或者GET 数据
查看>>
各种编程语言的深度学习库整理
查看>>
稀疏矩阵的三种存储方式
查看>>
Ignatius and the Princess III HDU - 1028 -生成函数or完全背包计数
查看>>
[硬件项目] 2、汽车倒车雷达设计——基于专用倒车雷达芯片GM3101的设计方案与采用CX20106A红外线检测芯片方案对比...
查看>>
MyBatis框架简介
查看>>
java reflect反射---Java高级开发必须懂的
查看>>
18.5 线程的优先级
查看>>
sessionStorage/localStorage 本地存储
查看>>