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 ...
随机推荐
- 你不知道的Promise构造函数Promise(excutor)
Promise构造函数Promise(excutor) // 说明一下:excutor会在Promise内部立刻同步调用:(异步操作在执行器执行) var p = new Promise((resol ...
- 【JS 逆向百例】某音 X-Bogus 逆向分析,JSVMP 纯算法还原
声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容.敏感网址.数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 本文章未经许 ...
- TienChin 活动管理-活动列表展示
后端 ActivityVO /** * @author BNTang * @version 1.0 * @description 活动管理VO * @since 2023-23-05 **/ publ ...
- 微信小程序-behaviors
什么是 behaviors behaviors 是用于组件间代码共享的特性,类似于一些编程语言中的 "mixins" 每个 behavior 可以包含一组属性,数据,生命周期函数和 ...
- 深入浅出Java多线程(二):Java多线程类和接口
引言 大家好,我是你们的老伙计秀才!今天带来的是[深入浅出Java多线程]系列的第二篇内容:Java多线程类和接口.大家觉得有用请点赞,喜欢请关注!秀才在此谢过大家了!!! 在现代计算机系统中,多线程 ...
- MySQL 之高级命令(精简笔记)
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RD ...
- C/C++ Npcap包实现数据嗅探
npcap 是Nmap自带的一个数据包处理工具,Nmap底层就是使用这个包进行收发包的,该库,是可以进行二次开发的,不过使用C语言开发费劲,在进行渗透任务时,还是使用Python构建数据包高效,这东西 ...
- Python 封装zabbix-get接口
Zabbix 是一款强大的开源网管监控工具,该工具的客户端与服务端是分开的,我们可以直接使用自带的zabbix_get命令来实现拉取客户端上的各种数据,在本地组装参数并使用Popen开子线程执行该命令 ...
- 【进阶篇】Java 实际开发中积累的几个小技巧(一)
目录 前言 一.枚举类的注解 二.RESTful 接口 三.类属性转换 四.Stream 流 五.判空和断言 5.1判空部分 5.2断言部分 文章小结 前言 笔者目前从事一线 Java 开发今年是第 ...
- dbgrideh 下拉显示多列