Java中的线程的优先级
Java 中线程优先级简介:
1. Java 提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程。
按照线程的优先级决定应该调度哪个线程来执行.
2. 线程的优先级用数字表示, 范围从 1 到 10, 一个线程的缺省优先级是 5.
Thread.MIN_PRIORITY = 1;
Thread.MAX_PRIORITY = 10;
Thread.NORM_PRIORITY = 5;
3. 使用下述方法获得、或设置线程对象的优先级.
int getPriority();
void setPriority(int newPriority);
【注】线程的优先级越高的, 得到的 CPU 执行的时间片就越多.(每个线程都有自己的优先级)
Demo_1:
public class TestPriority {
public static void main(String[] args){
T1 t1 = new T1();
T2 t2 = new T2();
Thread tt1 = new Thread(t1);
Thread tt2 = new Thread(t2);
tt1.setPriority(Thread.NORM_PRIORITY + 3); // tt1 的优先级提高了, 得到 CPU 执行的时间片多了
tt1.start();
tt2.start();
}
}
class T1 implements Runnable {
@Override
public void run() {
for(int i = 0; i < 100; i++){
System.out.println("T1: "+i);
}
}
}
class T2 implements Runnable {
@Override
public void run() {
for(int i = 0; i < 200; i++){
System.out.println("---T2: "+i);
}
}
}
Demo_2:
Java中的线程的优先级的更多相关文章
- Java中的线程
http://hi.baidu.com/ochzqvztdbabcir/item/ab9758f9cfab6a5ac9f337d4 相濡以沫 Java语法总结 - 线程 一 提到线程好像是件很麻烦很复 ...
- Java中的线程Thread总结
首先来看一张图,下面这张图很清晰的说明了线程的状态与Thread中的各个方法之间的关系,很经典的! 在Java中创建线程有两种方法:使用Thread类和使用Runnable接口. 要注意的是Threa ...
- Java中的线程状态转换和线程控制常用方法
Java 中的线程状态转换: [注]:不是 start 之后就立刻开始执行, 只是就绪了(CPU 可能正在运行其他的线程). [注]:只有被 CPU 调度之后,线程才开始执行, 当 CPU 分配给你的 ...
- Java多线程编程(1)--Java中的线程
一.程序.进程和线程 程序是一组指令的有序集合,也可以将其通俗地理解为若干行代码.它本身没有任何运行的含义,它只是一个静态的实体,它可能只是一个单纯的文本文件,也有可能是经过编译之后生成的可执行文 ...
- java中创建线程的方式
创建线程的方式: 继承thread 实现runnable 线程池 FurureTask/Callable 第一种:继承thread demo1: public class demo1 { public ...
- 《Java并发编程的艺术》 第9章 Java中的线程池
第9章 Java中的线程池 在开发过程中,合理地使用线程池能带来3个好处: 降低资源消耗.通过重复利用已创建的线程 降低线程创建和销毁造成的消耗. 提高响应速度.当任务到达时,任务可以不需要等到线程创 ...
- JAVA中创建线程池的五种方法及比较
之前写过JAVA中创建线程的三种方法及比较.这次来说说线程池. JAVA中创建线程池主要有两类方法,一类是通过Executors工厂类提供的方法,该类提供了4种不同的线程池可供使用.另一类是通过Thr ...
- Java中的线程池用过吧?来说说你是怎么理解线程池吧?
前言 Java中的线程池用过吧?来说说你是怎么使用线程池的?这句话在面试过程中遇到过好几次了.我甚至这次标题都想写成[Java八股文之线程池],但是有点太俗套了.虽然,线程池是一个已经被说烂的知识点了 ...
- 并发王者课 - 青铜 2:峡谷笔记 - 简单认识Java中的线程
在前面的<兵分三路:如何创建多线程>文章中,我们已经通过Thread和Runnable直观地了解如何在Java中创建一个线程,相信你已经有了一定的体感.在本篇文章中,我们将基于前面的示例代 ...
随机推荐
- JavaScript手绘风格的图形库RoughJS使用指南
RoughJS是一个轻量级的JavaScript图形库(压缩后约9KB),可以让你在网页上绘制素描风格.手绘样式般的图形.RoughJS定义了绘制直线,曲线,圆弧,多边形,圆和椭圆的图元,同时它还支持 ...
- 大数据学习之Hadoop环境搭建
一.Hadoop的优势 1)高可靠性:因为Hadoop假设计算元素和存储会出现故障,因为它维护多个工作数据副本,在出现故障时可以对失败的节点重新分布处理. 2)高扩展性:在集群间分配任务数据,可方便的 ...
- Home Assistant系列美化篇——替换天气 UI
替换天气组件 weather 的默认 UI,生成美观大方的气象卡片. Home Assistant 原生的天气平台不少,国内用户常用的有雅虎天气和 Darksky.其他论坛和社区也有分享自制的和风.彩 ...
- [STM32F4][关于看门狗的那些事]
STM32(stm32f4XX系列)看门狗的总结: 1. 具有两个看门狗外设(独立和窗口)均可用于检测并解决由软件错误导致的故障:当计数器达到给定的超时值时,触发一个中断(仅适用于窗口看门狗)或产生一 ...
- flask日志
日志功能的实现 Python 自身提供了一个用于记录日志的标准库模块:logging. logging 模块 logging 模块定义的函数和类为应用程序和库的开发实现了一个灵活的事件日志系统 log ...
- kali aquatone安装
https://www.jianshu.com/p/418eedb9d9c8
- C# base64 转 byte[]
string转成 Base64 形式的String //byte[] 转string byte[] b = Encoding.Default.GetBytes("字符串"); // ...
- 如何将github项目上传至gitlab
一.修改远程分支关联 删除远程分支关联 将指向github的远程分支关联关系删除 git remote rm origin 添加新的远程分支关联 新的remote地址指向gitlab相应地址 git ...
- 数据库操作-go
原版 import ( "database/sql" _ "github.com/go-sql-driver/mysql" "fmt" ) ...
- 常用代码c#
当使用 HttpContext.Current用到不是当前线程会出null的情况,可使用 System.Web.HttpRuntime.AppDomainAppPath获取程序的根路 string p ...