Java 线程方法
线程标识相关
| 方法 | 描述 |
public Thread(Runnable target, String name) |
带参数的构造方法, 第二个参数是线程名称 |
public static Thread currentThread() |
静态方法, 返回当前线程 |
public String getName() |
获取线程名称, 如果没指定, 默认 Thread-index |
public void setName(String name) |
设置线程名称 |
public long getId() |
获取线程编号 |
线程优先级相关
不是绝对的优先级, 只是提升抢夺 CPU 概率
有三个常量, MIN_PRIORITY(1); NORM_PRIORITY(5); MAX_PRIORITY(10); 默认是 NORM_PRIORITY
| 方法 | 描述 |
public int getPriority() |
获取线程优先级 |
public void setPriority(int newPriority) |
设置线程优先级, 范围 1-10 |
阻塞相关方法
| 方法 | 描述 |
public void join() throws InterruptedException |
合并线程 加入一个新线程, 当新线程执行完毕再执行当前线程 |
public static void yield() |
线程让步, 静态方法 让出 CPU 的使用权, 再次和别的线程抢夺 CPU 资源 写在线程体内部( run() 方法里), 注意主线程没有 run() 方法 |
public static void sleep(long millis) throws InterruptedException |
线程休眠, 静态方法 暂定执行, 指定时间过后再次执行 休眠期间不会释放锁, 意味着休眠期间别的线程不会做什么事儿, 因为获取不到锁 |
public void wait(long timeout) throws InterruptedException public void wait() throws InterruptedException |
来自 Object 类 能不使用就不使用, 很多书是这样说的, 我也没完全搞明白这个方法的原理~~~~ 线程等待, 如果指定时间, 该时间过后自动唤醒; 如果不指定, 需要使用 notify() 或 notifyAll() 来唤醒 等待期间会释放锁, 唤醒之后再次尝试获取锁 |
public void notify() public void notifyAll() |
来着 Object 类 能不使用就不使用 唤醒 wait() 的线程 |
Java 线程方法的更多相关文章
- java 线程方法join的简单总结
虽然关于讨论线程join方法的博客已经很多了,不过个人感觉挺多都讨论得不够全面,所以我觉得有必要对其进行一个全面的总结. 一.作用 Thread类中的join方法的主要作用就是同步,它可以使得线程之间 ...
- java线程方法join的总结
虽然关于讨论线程join方法的博客已经很多了,不过个人感觉挺多都讨论得不够全面,所以我觉得有必要对其进行一个全面的总结. 一.作用 Thread类中的join方法的主要作用就是同步,它可以使得线程之间 ...
- java 线程方法 ---- wait()
class MyThread5 implements Runnable{ private int flag = 10; @Override public void run() { while (fla ...
- java 线程方法 ---- yiled()
class MyThread3 implements Runnable{ @Override public void run() { for (int i = 0; i < 3; i++){ / ...
- java 线程方法 ---- join()
class MyThread2 implements Runnable{ @Override public void run() { for (int i = 0; i < 5; i++){ S ...
- java 线程方法 ---- sleep()
class MyThread implements Runnable{ @Override public void run() { for (int i = 0; i < 5; i++){ Sy ...
- java线程的简单实现及方法
java线程: 线程是一个程序内部的顺序控制流. cpu实际上在一个时间点上,只执行一个.只不过我们把cpu分成了多个时间片,由于速度很快,我们看起来像是多个线程.. 就像你的时间分成几片,这样 整体 ...
- Java线程中yield与join方法的区别
长期以来,多线程问题颇为受到面试官的青睐.虽然我个人认为我们当中很少有人能真正获得机会开发复杂的多线程应用(在过去的七年中,我得到了一个机会),但是理解多线程对增加你的信心很有用.之前,我讨论了一个w ...
- java线程中的sleep/wait/notify/yield/interrupt方法 整理
java线程中的sleep/wait/notify/yield/interrupt方法 sleep 该方法能够使当前线程休眠一段时间 休眠期间,不释放锁 休眠时间结束之后,进入可执行状态,加入到线程就 ...
随机推荐
- LabVIEW(二):计数器应用
1.计数器结构 —>Gate Output—> Counter Register —>Source 其中: Source:被计数的输入源信号 Gate:切断计数是否启动的门控信号 O ...
- 从非标准的POST数据流中提取文件
1 接收数据流转成字符串,注意编码 byte[] recv= Request.BinaryRead(Request.TotalBytes);string sourceByte = Encoding.U ...
- 最优路径算法合集(附python源码)(原创)
主要的最优(最短)路径算法: 一.深度优先算法:二.广度优先算法:三.Dijstra最短路径:四.floyd最短路径(待): 一.深度优先算法 图的深度优先搜索(Depth First Search) ...
- (转)python异步编程--回调模型(selectors模块)
原文:https://www.cnblogs.com/zzzlw/p/9384308.html#top 目录 0. 参考地址 1. 前言 2. 核心类 3. SelectSelector核心函数代码分 ...
- Java 容器 & 泛型:二、ArrayList 、LinkedList和Vector比较
Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket 继续上一篇的容器文章认识容器,泥瓦匠慢慢带你们走进List的容器解说.今天泥瓦匠想说说 ArrayLi ...
- 08 训练Tensorflow下围棋
这里介绍一下开源项目Mugo,它基于Tensorflow,可以使用sgf的棋谱训练围棋机器人,跟你下围棋,这里直接给出本人修改完善好的项目,只介绍一下用法. 链接:http://pan.baidu.c ...
- MFC控件编程之鼠标跟键盘消息
MFC控件编程之鼠标跟键盘消息 在MFC中鼠标消息.键盘消息我们很常用.所以说一下. 鼠标消息分为客户区消息.跟非客户区消息. 一丶客户区消息 我们可以处理消息.来进行我们相应的函数即可. MFC添加 ...
- SpringBoot(6) SpringBoot配置全局异常
1.全局异常 @ControllerAdvice 如果是返回json数据 则用 RestControllerAdvice,就可以不加 @ResponseBody //捕获全局异常,处理所有不可知的异常 ...
- Go处理json数据
json数据格式 参见json数据格式说明. 如果没操作过json数据,建议先看下上面的文章,有助于理解本文后面的内容. Go json包 Marshal():Go数据对象 -> json数据 ...
- 基于SpringMVC+Spring+MyBatis实现秒杀系统【数据库接口】
前言 该篇教程主要关注MyBatis实现底层的接口,把MyBatis交给Spring来托管.数据库连接池用的c3p0.数据库用的MySQL.主要有2个大类:秒杀商品的查询.秒杀明细的插入. 准备工作 ...