package day0228;
public class TestThreadPractice {
public static void main(String[] args) throws Exception{
Thread1 t1 = new Thread1(); //创建任务对象
Thread tt1 = new Thread(t1); //创建线程对象 创建线程方式1
Thread tt2 = new Thread(new Runnable(){ //创建线程方式2 使用匿名内部类的方式
@Override
public void run() {
System.out.println("tt2运行了");
}});
tt1.start();
tt2.start();
// tt1.join(); //阻塞主线程 等子线程执行完后再执行主线程
System.out.println("hello"); //join的存在不会阻塞子线程
tt2.join(); //两个join方法 其实阻塞主线程的只需要一个join即可
System.out.println("主线程开始运行");
}
}
class Thread1 implements Runnable{ //创建一个任务
@Override
public void run() {
System.out.println("Thread1开始运行!");
}
}
java 多线程join理解
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 多线程通信方式 共享变量 创建全局变量,多个线程公用一个全局变量,方便简单。但是坏处就是共享变量容易出现数据竞争,...