多线程2(常用的方法:join、interrupt、currentThread、isAlive、setDaemon...)
常用的方法:
1、join()
方法:
join()
方法:执行该方法的线程进入阻塞状态,直到调用该方法的线程结束后再由阻塞状态转为就绪状态。
示例:
package venus;import java.util.Date;public class Test {public static void main(String[] args) {TimeThread timeThread = new TimeThread();//创建时间线程timeThread.start();//启动时间线程,进入就绪状态CountThread countThread = new CountThread(timeThread);//创建计数线程countThread.start();//启动计数线程,进入就绪状态}
}class CountThread extends Thread{TimeThread timeThread;public CountThread(TimeThread timeThread){this.timeThread = timeThread;}@Overridepublic void run(){for (int i=0; i<5 ; i++){System.out.println("计数###"+i);if(i == 2){try {timeThread.join();/*此处是计数线程执行该方法,所以进入阻塞状态;时间线程调用该方法,所以直到该时间线程结束后,计数线程再由阻塞状态转为就绪状态*/} catch (InterruptedException e) {e.printStackTrace();}}}}
}class TimeThread extends Thread{@Overridepublic void run(){for (int i=0; i<5 ; i++){System.out.println("计数$$$"+i+" "+new Date());}}}
结果:
计数###0
计数###1
计数###2
计数$$$0 Sun Feb 07 15:59:11 GMT+08:00 2021
计数$$$1 Sun Feb 07 15:59:11 GMT+08:00 2021
计数$$$2 Sun Feb 07 15:59:11 GMT+08:00 2021
计数$$$3 Sun Feb 07 15:59:11 GMT+08:00 2021
计数$$$4 Sun Feb 07 15:59:11 GMT+08:00 2021
计数###3
计数###4
多线程2(常用的方法:join、interrupt、currentThread、isAlive、setDaemon...)相关推荐
- 多线程基础-常用线程方法(三)
1.notify和wait方法 为什么notify,wait方法在Object中? Monitor内置于每一个Object对象中,是一个同步工具,相当于操作系统中的互斥量,即值为1 的信号量.也可以称 ...
- sleep()、yield()、join()、wait()/notify()、interupt()——多线程中常用的方法
一.sleep()--线程休眠 线程休眠:指的是让线程暂缓执行一下,等到了预计时间之后再恢复执行. 线程休眠会交出CPU,让CPU去执行其他的任务.sleep() 方法不会释放锁,也就是说如果当前线程 ...
- 并发编程之二:线程创建方法、运行原理、常见方法(sleep,join,interrupt,park,守护线程等)
线程创建方法.运行原理.常见方法 线程的创建方法 继承Thread 实现Runnable FutureTask 线程的运行原理 栈与栈帧 线程运行情况 线程的上下文切换(Thread Context ...
- python join_python join 和 split的常用使用方法
python join 和 split的常用使用方法 python join 和 split方法的使用,join用来连接字符串,split恰好相反,拆分字符串的. 1.join用法示例 >> ...
- java多线程常用方法_Java多线程入门中几个常用的方法
一.currentThread()方法 currentThread方法就是返回当前被调用的线程. 该方法为一个本地方法,原码如下: /*** Returns a reference to the cu ...
- Java多线程学习二十四:阻塞队列包含哪些常用的方法?add、offer、put 等方法的区别?
阻塞队列包含哪些常用的方法,以及 add,offer,put 等方法的区别. 在阻塞队列中有很多方法,而且它们都非常相似,所以非常有必要对这些类似的方法进行辨析,所以本课时会用分类的方式,和你一起,把 ...
- 创建多线程有几种方法?如何创建线程?
多线程有几种实现方法? 多线程实现又3种方法,其中前两中是常用的方法,推荐第二种方法,一个类应该在其修改或者加强是才继承 1.继承Thread类,重写run()方法,实例化该类,调用线程start() ...
- python多线程的几种方法
python多线程编程 Python多线程编程中常用方法: 1.join()方法:如果一个线程或者在函数执行的过程中调用另一个线程,并且希望待其完成操作后才能执行,那么在调用线程的时就可以使用被调线程 ...
- [python]开发IC utility 一些常用的方法和函数和语法规则
文章目录 字符串的replace 字符串的split 字符串的strip 循环for in 判断语句中的and not re.search与re.match 合并元素为一个字符串 判断提供的path是 ...
最新文章
- 1043 Is It a Binary Search Tree
- 扩展卡尔曼滤波EKF与多传感器融合
- 通配符 泛域名 linux,openssl签署自己的泛域名(通配符)证书
- Spark宽依赖:根据宽依赖切分stage
- 爬虫技术python代码_Python 你见过三行代码的爬虫吗
- mysql学习笔记06分组语句的使用
- myysql 不能远程访问的解决办法
- Nginx下Uwsgi模块常用参数说明
- UVA 11235 - Frequent values
- ArcGIS10.2安装教程
- Exchange Server 2007邮箱服务器失败规划和恢复
- 关于 redis crackit 安全事件分析
- hp7610扫描到计算机无法激活,惠普HP Officejet 7610一体机解决扫描问题(一)
- Flutter流畅性fps计算
- MaaS在绽放,为人们提供出行自由:过渡到新的范式
- 某Java大佬在地表最强Java企业(阿里)面试总结
- 小和尚卖石头,唤醒无数人!
- Linux文件编程常用函数详解——read()和write()函数
- Mac磁盘读写神器Tuxera NTFS for Mac2023功能介绍
- BIOS 报警声 / 声音提示
热门文章
- nicstat命令安装与分析
- 偏前端 - vue-cli(axios请求数据==》token+按接口参数顺序(参数值拼接base64)- MD5)...
- 层化(stratification)的方法
- C#基础篇--文件(流)
- Database项目中关于Procedure sp_refreshsqlmodule_internal的错误
- [codevs 1913] 数字梯形问题
- 在存储过程中如何实现将ID列表字符串传入IN()
- C# 启动外部程序的几种方法
- IPV6的设置问题!
- ASP.NET 2.0 AJAX中Webservice调用方法示例