join()的用法和线程的优先级

1、join()的用法

join()作用就是让其他线程处于等待状态

先看一个需求:创建一个线程,子线程执行完毕后,主线程才能执行

public class JoinThreadDemo {

    public static void main(String[] args) {
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("这里是子线程");
int count = 100;
while (count > 0) {
System.out.println(Thread.currentThread().getName() + "=====" + count);
count--;
}
}
});
thread.start();
try {
thread.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("这里是主线程");
} }

2、设置线程的优先级

在Java线程中,通过一个int priority来控制优先级,范围为1-10,其中10最高,默认值为5。

注:设置了优先级,不代表每次都一定会被执行。只是CPU调度会优先分配

class PriorityThread extends Thread {

    public PriorityThread(String name) {
this.setName(name);
} @Override
public void run() {
System.out.println(getName() + "==========" + getId());
}
} public class PriorityThreadDemo { public static void main(String[] args) {
PriorityThread priorityThread1 = new PriorityThread("priority_10");
PriorityThread priorityThread2 = new PriorityThread("priority_default");
priorityThread1.setPriority(10);
priorityThread2.start();
priorityThread1.start();
}
}

源码地址

最新文章

  1. 反编译.NET工程
  2. 使用tungsten将mysql的数据同步到hadoop
  3. log4j使用快速入门【转】
  4. Vs2012(Vs2013) 编译 64位 Qt (动态库), 并使用自编译Qt建立工程(悲催经历)。(含遗留问题)
  5. 爬虫爬数据时,post数据乱码解决办法
  6. MOPSO 多目标例子群优化算法
  7. goldengate复制过程字符集处理一例
  8. 2016-1-6第一个完整APP 私人通讯录的实现 2:增加提示用户的提示框,监听文本框
  9. HDOJ_1010 Tempter of the Bone
  10. 桂电在线-php-提取菜单到配置文件
  11. python crypto
  12. 浏览器支持播放的视频播放格式要求(H5的video标签)
  13. Linux下安装 mysql 5.7
  14. Java中的50个关键字
  15. 论文笔记:Fast(er) RCNN
  16. MGR架构 ~ MGR+proxysql(2)
  17. 20180518VSTO多簿单表汇总外接程序按钮
  18. js判断json对象中是否含有某个属性
  19. c# 用户页面
  20. javascript数组元素的添加、删除与插入以及参数数组的使用

热门文章

  1. 设计模式:模板方法(Template method)
  2. 掌握Mybatis的核心配置文件
  3. Luogu P4878 [USACO05DEC]布局
  4. linux基础命令<二>
  5. python第三方库-图像处理库pillow
  6. JAVA break、continue和return的区别
  7. php7.2.1 安装
  8. GitLab: Deploy keys are not allowed to push code.
  9. python 定义变量
  10. 记一次部署PHP遇到的编码问题故障