Java 多线程------测试 Thread中的常用方法 + 线程的优先级:
1 package com.bytezero.threadexer;
2
3 import javax.sound.midi.Soundbank;
4
5 /**
6 * 测试 Thread中的常用方法
7 * 1.start(); :启动当前线程,调用当前线程的run()
8 * 2.run(); :通常需要重写Thread类中的此方法,将创建的线程的操作声明在此方法中
9 * 3.currentThread():静态方法,返回执行当前代码的线程
10 * 4.getName():获取当前线程的名字
11 * 5.setName():设置当前线程的名字 2种
12 * 6.yield():释放当前CPU的执行权
13 * 7.join():在线程a中调用线程b的jion(),此时线程a就进入了阻塞状态,直到线程b完全执行
14 * 以后,线程a才会结束阻塞状态,继续执行.
15 * 8.stop(): 已过时.当执行此方式时,强制结束当前线程
16 * 9.sleep(long millitime):让当前线程"睡眠"指定的millitime毫秒.在指定的millitime
17 * 毫秒时间内,当前线程是阻塞状态.
18 *10. isAlive(): 判断当前线程是否在存活
19 *
20 *
21 * 线程的优先级:
22 * 1.
23 * MAX_PRIORITY:10
24 * MIN_PRIORITY:1
25 * NORM_PRIORITY:5 ---->默认优先级
26 * 2.如何获取和设置当前线程的优先级
27 * getPriority(): 获取线程的优先级
28 * setPriority(int p): 设置线程的优先级
29 * 高优先级的线程要抢占低优先级线程CPU的执行器,但是只是从概率上讲,高优先级的线程高
30 * 概率的情况下被执行并不意味着只有当高优先级的线程执行完以后,低优先级的线程才执行
31 *
32 *
33 *
34 *
35 *
36 *
37 * @author Bytezero1·zhenglei! Email:420498246@qq.com
38 * create 2021-10-15 10:58
39 */
40 //测试线程的方法
41 class MethodThread extends Thread{
42 @Override
43 public void run() {
44 for (int i = 0; i < 100; i++) {
45 if(i % 2 == 0){
46
47 // try {
48 // sleep(10);
49 // } catch (InterruptedException e) {
50 // e.printStackTrace();
51 // }
52
53 System.out.println(Thread.currentThread().getName()+":"+Thread.currentThread().getPriority()+":" + i);
54 }
55 // if(i % 20 ==0){
56 //// this.yield();
57 // Thread.currentThread().yield();
58 // }
59
60 }
61 }
62
63 //重写 Thread 里面的构造器
64 //通过构造器给线程命名
65 public MethodThread(String name){
66 super(name);
67 }
68 }
69
70 public class ThreadMethodTest {
71 public static void main(String[] args) {
72
73 MethodThread m1 = new MethodThread("Thread: 1");
74 // m1.setName("线程一");
75
76 //设置分线程的优先级
77 m1.setPriority(Thread.MAX_PRIORITY);
78
79 m1.start();
80
81
82 //给主线程命名
83 Thread.currentThread().setName("主线程");
84 Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
85 for (int i = 0; i < 100; i++) {
86 if(i % 2 == 0){
87 System.out.println(Thread.currentThread().getName()+Thread.currentThread().getPriority()+":" + i);
88 }
89
90 // if(i == 20){
91 // try {
92 // m1.join();
93 // } catch (InterruptedException e) {
94 // e.printStackTrace();
95 // }
96 // }
97 }
98 // System.out.println(m1.isAlive());
99 }
100
101 }

............................
Java 多线程------测试 Thread中的常用方法 + 线程的优先级:的更多相关文章
- 测试Thread中的常用方法
package com.yhqtv.java; /* *测试Thread中的常用方法: * 1.start():启动当前线程:调用当前线程的run() * 2.run():通常需要重写Thread类的 ...
- 测试Thread中的常用方法:
测试Thread中的常用方法:start():启动当前线程:调用当前线程的run()run(): 通常需要重写Thread类中的此方法,将创建的线程要执行的操作声明在此方法中currentThread ...
- java 多线程: Thread 锁ReentrantLock 常用方法
注意 reentrantLock 和 同步代码块儿一样,同一个时刻只能一个线程获取锁,也就是共用锁的代码块部分,线程是顺序执行的 ReentrantLock 常用方法 getHoldCount获取当前 ...
- java 多线程 2 Thread中start()和run()的区别
- Java多线程系列--“基础篇”06之 线程让步
概要 本章,会对Thread中的线程让步方法yield()进行介绍.涉及到的内容包括:1. yield()介绍2. yield()示例3. yield() 与 wait()的比较 转载请注明出处:ht ...
- Java多线程系列--“基础篇”07之 线程休眠
概要 本章,会对Thread中sleep()方法进行介绍.涉及到的内容包括:1. sleep()介绍2. sleep()示例3. sleep() 与 wait()的比较 转载请注明出处:http:// ...
- Java多线程系列--“基础篇”10之 线程优先级和守护线程
概要 本章,会对守护线程和线程优先级进行介绍.涉及到的内容包括:1. 线程优先级的介绍2. 线程优先级的示例3. 守护线程的示例 转载请注明出处:http://www.cnblogs.com/skyw ...
- Java多线程(三)如何创建线程
点我跳过黑哥的卑鄙广告行为,进入正文. Java多线程系列更新中~ 正式篇: Java多线程(一) 什么是线程 Java多线程(二)关于多线程的CPU密集型和IO密集型这件事 Java多线程(三)如何 ...
- Java多线程(一) 什么是线程
声明:本系列大多是翻译自https://www.javatpoint.com,加上自己的增删改,尽力写的系统而通俗易懂,后文不再重复声明. 点我跳过黑哥的卑鄙广告行为,进入正文. Java多线程系列更 ...
- Unity多线程(Thread)和主线程(MainThread)交互使用类——Loom工具分享
Unity多线程(Thread)和主线程(MainThread)交互使用类——Loom工具分享 By D.S.Qiu 尊重他人的劳动,支持原创,转载请注明出处:http.dsqiu.iteye.com ...
随机推荐
- 队列(Queue):先进先出(FIFO)的数据结构
队列是一种基本的数据结构,用于在计算机科学和编程中管理数据的存储和访问.队列遵循先进先出(First In, First Out,FIFO)原则,即最早入队的元素首先出队.这种数据结构模拟了物理世界中 ...
- Dubbo3应用开发—Dubbo注册中心引言
Dubbo注册中心引言 什么是Dubbo注册中心 Dubbo的注册中心,是Dubbo服务治理的⼀个重要的概念,他主要用于 RPC服务集群实例的管理. 注册中心的运行流程 使用注册中心的好处 可以有效的 ...
- vscode中文搜索乱码或搜索不到
使用vscode在全局搜索时,代码中的内容无法搜索出来,或者搜索出来是乱码. 经验证:与vscode的语言设置无关,设置为中文或英文都是一样的 后面猜想到会不会与文件自身的编码有关,因为我们项目中的代 ...
- 8.5 CheckRemoteDebuggerPresent
CheckRemoteDebuggerPresent 也是一个微软提供的反调试函数,该函数可以在本地或者远程进程中使用.函数接收两个参数进程句柄和一个指向布尔值的指针.如果指定的进程正在被调试,则函数 ...
- 自定义RecyclerView下拉刷新上拉加载更多
自定义ListView下拉刷新上拉加载更多 自定义RecyclerView下拉刷新上拉加载更多
- 面向对象之trait
面向对象之trait 场景 一个web站点,它有很多不同的类:用户(User).页面(Page).联系表单(ContactFrom)等.我们可能需要在每个类中添加一个方法的定义,但是这样的话就会造成不 ...
- 深入剖析Java中的反射,由浅入深,层层剥离!
写在开头 之前更新了不少Java的基础知识,比如Java的类.对象.基础类型.关键字.序列化.泛型.值传递等等,今天要上点深度了,来聊一聊Java中的 反射 ! 所谓反射,就是在运行时分析.检查和操作 ...
- ASP.NET Core分布式项目实战(oauth2与open id connect 对比)--学习笔记
任务14:oauth2与open id connect 对比 以微博开放平台为例(微博登录接入--授权机制): https://open.weibo.com/wiki/授权机制 可以看到微博登录接入使 ...
- windows_exporter 安装
windows_exporter 安装 背景 如果想使用Prometheus监控Windows主机相关参数,那么就需要在Windows系统的主机上进行安装指标收集器. windows_exporter ...
- 二进制安装Kubernetes(k8s) v1.27.3 IPv4/IPv6双栈 可脱离互联网
二进制安装Kubernetes(k8s) v1.27.3 IPv4/IPv6双栈 可脱离互联网 https://github.com/cby-chen/Kubernetes 开源不易,帮忙点个star ...