Java线程中的常用方法

简介: Java线程中的常用方法

获取当前线程的方法

为线程设置名称

为线程设置优先级,优先级有10个级别,从1-10,能影响cpu调用线程的级别,但是不能决定。

/**
 * @author 舒一笑
 * @date 2023/5/25
 */
public class Test03 {
    public static void main(String[] args) {
        Thread thread01 = new Thread(() -> {
            for (int i = 0; i < 100; i++) {
                System.out.println("tttttt" + i);
            }
        });
        Thread thread02 = new Thread(() -> {
            for (int i = 0; i < 100; i++) {
                System.out.println("ffffff" + i);
            }
        });
        thread01.setPriority(10);
        thread02.setPriority(2);
        thread02.start();
        thread01.start();
    }
}

线程的让步

使用该方法之后线程当前状态为就绪状态

线程的休眠

线程的抢占

使用Thred中的非静态join方法,下图中由于线程是在主线程中join,所以要等到主线程执行完毕才能执行自己的线程

守护线程

默认情况下线程都是非守护线程(也可以叫做用户线程),守护线程也可以叫做后台线程,用于执行后台任务等等,守护线程中最典型的就是GC垃圾回收器

JVM会在程序中不存在非守护线程中结束JVM

线程的等待和唤醒

  1. synchronized锁资源的线程
  2. 通过wait去锁等待池,会释放锁资源,线程是waiting状态
  3. 通过notify,或者notifyAll将等待池中的线程唤醒,一个/全部。添加到锁池中,线程是blockd状态


线程的结束方式

run方法结束、return结束、stop结束

  1. stop方式

  2. 使用共享变量,这种方式使用的也不多,修改共享变量的方式退出死循环,结束run方法

  • interrupt方式


  • 可以通过这种方式编写自己的业务代码

目录
相关文章
|
2月前
|
前端开发 JavaScript Java
Java 开发中 Swing 界面嵌入浏览器实现方法详解
摘要:Java中嵌入浏览器可通过多种技术实现:1) JCEF框架利用Chromium内核,适合复杂网页;2) JEditorPane组件支持简单HTML显示,但功能有限;3) DJNativeSwing-SWT可内嵌浏览器,需特定内核支持;4) JavaFX WebView结合Swing可完美支持现代网页技术。每种方案各有特点,开发者需根据项目需求选择合适方法,如JCEF适合高性能要求,JEditorPane适合简单展示。(149字)
269 1
|
2月前
|
安全 算法 Java
Java 多线程:线程安全与同步控制的深度解析
本文介绍了 Java 多线程开发的关键技术,涵盖线程的创建与启动、线程安全问题及其解决方案,包括 synchronized 关键字、原子类和线程间通信机制。通过示例代码讲解了多线程编程中的常见问题与优化方法,帮助开发者提升程序性能与稳定性。
129 0
|
2月前
|
Java API 调度
从阻塞到畅通:Java虚拟线程开启并发新纪元
从阻塞到畅通:Java虚拟线程开启并发新纪元
283 83
|
3月前
|
存储 SQL 安全
Java 无锁方式实现高性能线程实战操作指南
本文深入探讨了现代高并发Java应用中单例模式的实现方式,分析了传统单例(如DCL)的局限性,并提出了多种无锁实现方案。包括基于ThreadLocal的延迟初始化、VarHandle原子操作、Record不可变对象、响应式编程(Reactor)以及CDI依赖注入等实现方式。每种方案均附有代码示例及适用场景,同时通过JMH性能测试对比各实现的优劣。最后,结合实际案例设计了一个高性能配置中心,展示了无锁单例在实际开发中的应用。总结中提出根据场景选择合适的实现方式,并遵循现代单例设计原则以优化性能和安全性。文中还提供了代码获取链接,便于读者实践与学习。
94 0
|
2月前
|
存储 Java 调度
Java虚拟线程:轻量级并发的革命性突破
Java虚拟线程:轻量级并发的革命性突破
232 83
|
1月前
|
算法 Java 开发者
Java 项目实战数字华容道与石头迷阵游戏开发详解及实战方法
本文介绍了使用Java实现数字华容道和石头迷阵游戏的技术方案与应用实例,涵盖GUI界面设计、二维数组操作、游戏逻辑控制及自动解法算法(如A*),适合Java开发者学习游戏开发技巧。
185 46
|
2月前
|
Java 索引
Java ArrayList中的常见删除操作及方法详解。
通过这些方法,Java `ArrayList` 提供了灵活而强大的操作来处理元素的移除,这些方法能够满足不同场景下的需求。
348 30
|
2月前
|
安全 Java API
Java 17 及以上版本核心特性在现代开发实践中的深度应用与高效实践方法 Java 开发实践
本项目以“学生成绩管理系统”为例,深入实践Java 17+核心特性与现代开发技术。采用Spring Boot 3.1、WebFlux、R2DBC等构建响应式应用,结合Record类、模式匹配、Stream优化等新特性提升代码质量。涵盖容器化部署(Docker)、自动化测试、性能优化及安全加固,全面展示Java最新技术在实际项目中的应用,助力开发者掌握现代化Java开发方法。
118 1
|
2月前
|
安全 Java API
Java 集合高级应用与实战技巧之高效运用方法及实战案例解析
本课程深入讲解Java集合的高级应用与实战技巧,涵盖Stream API、并行处理、Optional类、现代化Map操作、不可变集合、异步处理及高级排序等核心内容,结合丰富示例,助你掌握Java集合的高效运用,提升代码质量与开发效率。
192 0

热门文章

最新文章