7.线程id,优先级讲解
1.线程id可以通过Thread对象的getId()方法得到,在线程出了问题,为什么CPU占用这么高的时候,查的时候我们可以在堆栈信息中找到对应线程,然后干掉该线程就好!
2.而线程对象的getName方法可以获得该线程的线程名,线程名默认是Thread-数字,当然我们也可以自己指定线程名!
public final String getName() {
return String.valueOf(name);
}
3.可以通过线程对象的getPriority方法获取当前该线程的优先级,如下所示:
public final int getPriority() {
return priority;
}
4.可以通过getState方法获取当前对象的状态信息
public State getState() {
// get current thread state
return sun.misc.VM.toThreadState(threadStatus);
}
如下代码演示上述四个方法:
package com.bawei.multithread; public class ThreadSimpleApi {
public static void main(String[] args) {
Runnable run =new Runnable(){
@Override
public void run() {
System.out.println("这是线程1!");
try {
Thread.sleep(100000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
Thread t = new Thread(run,"号啊");
t.start();
System.out.println("ThreadName: "+t.getName()+" ThreadId:"+t.getId()+
" ThreadPriority:"+t.getPriority()+"ThreadState:"+t.getState());
}
}
注意:进程也是有优先级的,从我们如下的任务管理器界面中我们可以看到优先级问题,有的进程优先级高,有的进程优先级低,有些软件我们用360的东西杀它但是就是干不掉,就是因为它的优先级比较高!
Java线程:线程的调度-优先级
package com.bawei.multithread; class ThreadSimpleApi {
public static void main(String[] args) {
Thread t1 = new MyThread1();
Thread t2 = new Thread(new MyRunnable());
t1.setPriority(10);
t2.setPriority(1); t2.start();
t1.start();
}
} class MyThread1 extends Thread {
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println("线程1第" + i + "次执行!");
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
} class MyRunnable implements Runnable {
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println("线程2第" + i + "次执行!");
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
7.线程id,优先级讲解的更多相关文章
- java线程基础巩固---线程ID,优先级
这里学习Thread的两个比较简单的API,直接上代码: 线程ID: 那它的生成规则是?直接看源码: 那为什么目前打印是9呢?然后在jvm启动的时候就已经创建了8个线程?继续用jconsole来验证一 ...
- java笔记--查看和修改线程的优先级
查看和修改线程的优先级 java中每一个线程都有优先级属性,在默认情况下,新建的线程的优先级与创建该线程的线程优先级相同.每当线程调度器选择要运行的线程时,通常选择优先级较高的线程. 注:线程的优先级 ...
- Linux-pthread如何设置线程的优先级
设置线程优先级的函数: int pthread_setschedparam(pthread_t target_thread, int policy, const struct sched_param ...
- Android 开发 知晓各种id信息 获取线程ID、activityID、内核ID
/** * Returns the identifier of this process's user. * 返回此进程的用户的标识符. */ Log.e(TAG, "Process.myU ...
- mfc 线程的优先级
知识点: 线程优先级 获取当前线程句柄 线程优先级设置 线程优先级变动 线程优先级获取 一.线程优先级(Thread priority ) 简单的说就是(线程)的优先级越高,那么就 ...
- linux 线程查看 和 Jvm栈线程ID对应
一.proc查看进程和线程 该方法是个人最为推荐,也最喜欢的一种方法.进程文件下,有几种方式可以获取目前进程开启的进程数. 查看status文件: # cat /proc//status Name: ...
- 偏向锁,偏向线程id ,自旋锁
理解锁的基础知识 如果想要透彻的理解Java锁的来龙去脉,需要先了解以下基础知识. 基础知识之一:锁的类型 锁从宏观上分类,分为悲观锁与乐观锁. 乐观锁 乐观锁是一种乐观思想,即认为读多写少,遇到并发 ...
- C#夯实基础之多线程三:线程的优先级
一.为什么需要优先级--线程调度的问题 在现实生活中,优先级是一个很常见的现象:在火车站,如果你是孕妇,你是可以走进站中的专门绿色通道的,可以提前上火车以免拥挤:火警119匪警110出警的时候,都是人 ...
- java 22 - 6 多线程之线程调度和设置线程的优先级
线程调度 假如我们的计算机只有一个 CPU,那么 CPU 在某一个时刻只能执行一条指令,线程只有得到 CPU时间片,也就是使用权,才可以执行指令. 那么Java是如何对线程进行调用的呢? 线程有两种调 ...
随机推荐
- [skill][c][ld][gcc] 明确指定gcc在链接时明确使用静态库
通常,我们这样链接: gcc -o a.out -L/usr/lib/ -ltest a.o 这样它会链接动态库 libtest.so, 可是有时候我们想在静态库与动态库同时存在时,优先使用静态库. ...
- ubuntu物理机上搭建Kubernetes集群 -- 准备
准备工作 1.kubernetes架构 2.三台ubuntu主机: 操作系统:ubuntu-16.04.1-server-amd64 docker: 1.安装 使用命令 sudo apt-get in ...
- LeetCode 905 Sort Array By Parity 解题报告
题目要求 Given an array A of non-negative integers, return an array consisting of all the even elements ...
- 机器Coding For WinForm
declare @objname varchar(90)='AutoProjectModel'declare @modelns varchar(90)='ACL.Models'declare @dpc ...
- SpringBoot-区分不同环境配置文件
spring.profiles.active=pre application-dev.properties:开发环境 application-test.properties:测试环境 applicat ...
- 【JMeter】JMeter如何输出测试报告
环境要求 1:jmeter3.0版本之后开始支持动态生成测试报表 2:jdk版本1.7以上 3:需要jmx脚本文件 基本操作 1:在你的脚本文件路径下,执行cmd命令:jmeter -n -t tes ...
- h5 中的 section 标签
转自 http://www.studyofnet.com/news/331.html 本文导读:<section> 标签定义文档中的节(section.区段).比如章节.页眉.页脚或文档中 ...
- 接口测试工具-Jmeter使用笔记(二:GET/POST请求参数填写)
举例来说 我的被测系统API的http请求涉及到GET/POST/PUT/DELETE四种.请求传参可分为两种: GET请求 http://请求路径/Ecs-duHc0U4E #该请求参数“Ecs-d ...
- react native获取屏幕的宽度和高度
var Dimensions = require('Dimensions'); var {width,height} = Dimensions.get("window");//第一 ...
- AlertWindowManager 弹出提示窗口使用帮助(下)
//显示消息提示框 //function TdxAlertWindowManager.Show(const ACaption, AText: string; AImageIndex: TcxImage ...