android java join_java中的join用法
t1.join();
在谁里面调用就把谁阻塞
join()方法的作用,是等待这个线程结束;
也就是说,t.join()方法 阻塞调用此方法的线程(calling thread)进入 TIMED_WAITING 状态,直到线程t完成,此线程再继续;
通常用于在main()主线程内,等待其它线程完成再结束main()主线程。
t1.join在main里面执行的,所以main线程被阻塞了,直到t1线程执行完毕,才执行main函数的线程
public class lx01 {
/*
* 实现多线程的两种方法
* 1、继承Thread类
* 2、实现Runnable接口(推荐使用)
* */
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(Thread.currentThread().getName());
MyThread t1= new MyThread();
t1.start();
//System.out.println("isAlive: "+t1.isAlive());
MyRunnable r = new MyRunnable();
Thread t2 =new Thread(r);
System.out.println("isAlive: "+t2.isAlive());//false
t2.start();
System.out.println("isAlive: "+t2.isAlive());//true
for(int i=0;i<10;i++)
{
try {
System.out.println(System.currentTimeMillis()+"-"+i+"--"+Thread.currentThread().getName());
Thread.sleep(500);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
if(i==6)
{
try {
t1.join();/*
在谁里面调用就把谁阻塞
join()方法的作用,是等待这个线程结束;
也就是说,t.join()方法 阻塞调用此方法的线程(calling thread)进入 TIMED_WAITING 状态,直到线程t完成,此线程再继续;
通常用于在main()主线程内,等待其它线程完成再结束main()主线程。
t1.join在main里面执行的,所以main线程被阻塞了,直到t1线程执行完毕,才执行main函线程*/
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
static class MyThread extends Thread //Thread就是继承Runnable
{
public void run()
{
for(int i=0;i<10;i++)
{
try {
Thread.sleep(500);
} catch (InterruptedException e) {//中断异常
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(System.currentTimeMillis()+"-"+i+"--"+Thread.currentThread().getName());
}
}
}
//轻耦合,实现Runnable接口的方式启动线程
static class MyRunnable implements Runnable
{
@Override
public void run() {
// TODO Auto-generated method stub
for(int i=0;i<10;i++)
{
try {
Thread.sleep(500);
} catch (InterruptedException e) {//中断异常
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(System.currentTimeMillis()+"-"+i+"--"+Thread.currentThread().getName());
}
}
}
/*
* 推荐第二种 方法
* 第一种已经继承了Thread类,无法继承其他类,如果第二种还可以继承其他类
*
*/
}
android java join_java中的join用法相关推荐
- java多线程中的join方法详解
java多线程中的join方法详解 方法Join是干啥用的? 简单回答,同步,如何同步? 怎么实现的? 下面将逐个回答. 自从接触Java多线程,一直对Join理解不了.JDK是这样说的:join p ...
- Java程序中Timer的用法
Java程序中Timer的用法 import java.io.IOException; import java.util.Timer; public class CheckTimer {/*** @p ...
- java stream中Collectors的用法
文章目录 简介 Collectors.toList() Collectors.toSet() Collectors.toCollection() Collectors.toMap() Collecto ...
- Shell中的join用法
Shell中的join用法 将两个文件里指定栏位置同样的行连接起来, 即依照两个文件中共同拥有的某一列, 将相应的行拼成一行(原文件不改变) 内连接(忽略不匹配的行) join file1 file2 ...
- MySQL中Left Join用法
MySQL中Left Join用法 例子: user表: id name --------- 1 libk 2 zyfon 3 daodao user_action表: user_i ...
- java项目中enum的用法_java中enum的用法
本文实例讲述了java中enum的用法.分享给大家供大家参考.具体分析如下: 1. 基本用法 enum Day { SUNDAY, MONDAY, TUESDAY, WENDSDAY, THURSDA ...
- 模拟做饭系统(java+线程中的join方法)
(一)项目框架分析 妈妈要去做饭,发现没有酱油,让儿子去买酱油,然后回来做饭. 根据面向对象的思想,有两个对象,妈妈和儿子 主要有两个方法: (一)没有线程控制(即儿子没有买酱油回来妈妈就做好饭了)+ ...
- java jna_Java中jna的用法
(1)jna是对jni的封装,让java使用者能更好的使用本地的动态库 (2)使用jna需要下载jna的jar包,该jar包就是对jni的封装,所以在调用效率上来讲,jna是要比jni低一点的,不过对 ...
- 【python】python中的join用法
目录 python中的join python中的os.path.join python中的join str. join(): 返回一个由 iterable 中的字符串拼接而成的字符串. 如果 iter ...
最新文章
- 2019半年总结:Teams are powerful
- 等差数列末项_等差数列末项(第n项)公式
- chrome正受到自动软件的控制_谷歌优化Chrome Omnibox自动完成功能 使其更加智能
- ES关于文档的基本操作
- 使用jedis实现Redis消息队列(MQ)的发布(publish)和消息监听(subscribe)
- LeetCode 1058. 最小化舍入误差以满足目标(排序+贪心)
- MySQL启动关闭服务巨慢,这样解决!
- Unity开发《一起来捉妖》教程 | 1.陀螺仪控制相机
- [转载] numpy.argmin 使用
- 华中科技大学2005年计算机组成原理试题,华中科技大学2005年计算机组成原理试题...
- yaahp层次分析法步骤_什么是层次分析法?(文末附yaahp软件)
- 体外肿瘤细胞敏感性分析试剂盒 实验原理
- android 如何发送短信,如何在android中发送短信
- UVALive 6198 A Terribly Grimm Problem
- jfreechart-x轴刻度倾斜45度
- c# 贪婪匹配 html,C#正则表达式之贪婪模式
- php扩展-ioncube组件的安装方法_如何安装ioncube扩展
- 神武服务器维护打副本,9月9日服务器例行维护公告
- MySQL游标无法获取数据-1329 - No data - zero rows fetched, selected, or processed
- spring AOP中 aop:advisor 与 aop:aspect 的区别