`
googlelc
  • 浏览: 56579 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【java多线程与并发库】---传统java多线程<4> .线程状态及优先级

 
阅读更多

1)线程状态

线程是一个动态运行的实体,每个线程都存在一个从创建、运行到消亡的过程。在一个线程的生命周期中,它将在新建状态、可运行状态、阻塞状态或死亡状态之间进行转换。通过线程的控制和调度可以改变线程的状态。

新建状态。利用new运算符创建线程对象之后、调用start() 成员方法之前就是线程的新建状态。这时,该线程仅仅是一个空对象,系统没有为它分配资源。

可运行状态。使用start()方法启动一个线程之后,线程就变为可运行状态。处于这个状态的线程可能正在执行,也可能没有执行,这取决于它是否获得了使用CPU的时间片及相关资源。

阻塞状态。当一个正在CPU上运行的线程由于等待某个事件发生而让出CPU时,就进入阻塞状态。

死亡状态。死亡状态是线程生命周期中的最后一个阶段,处于这个状态的线程不再具有执行的能力。正常运行的线程完成了全部工作或者线程的执行被强行终止都可导致线程处于死亡状态。

2)线程优先级

Java中每一个线程都有一个优先级。默认情况下,线程将继承父线程的优先级。Java将线程的优先级分为10个等级,分别用1~10之间的数字表示。数字越大表明线程的级别越高。

相应地,在Thread类中定义了表示线程最低、最高和普通优先级的成员变量MIN_PRIORITYMAX_PRIORITYNORMAL_PRIORITY,代表的优先级等级分别为1105。当一个线程对象被创建时,其默认的线程优先级是5

Java提供了一个线程调度器来监控进入就绪状态的所有线程。线程调度器按照线程的优先级决定线程的执行顺序,并采用"抢占式"策略来调度线程的执行。

为了获得某个线程的优先级,用户可以调用Thread类的getPriority()成员方法实现,而调用Thread类的setPriority(int newPriority)成员方法可以改变某个线程的优先级。

分享到:
评论

相关推荐

    Java_多线程与并发编程总结.doc

    Java多线程与并发编程是Java开发中至关重要的一部分,它涉及到如何高效地利用CPU资源,以实现程序的并行执行。在操作系统层面,多任务和多进程是通过分配不同的内存空间来实现的,而线程则共享同一进程的内存,这...

    Java多线程编程总结

    Java线程:概念与原理 Java线程:创建与启动 Java线程:线程栈模型与线程的变量 Java线程:线程状态的转换 Java线程:线程的同步与锁 Java线程:线程的交互 Java线程:线程的调度-休眠 Java线程:线程的调度-...

    【IT十八掌徐培成】Java基础第09天-003.多线程优先级-eclipse-配置使用.zip

    本教程将深入讲解Java中的多线程以及如何在Eclipse集成开发环境中配置和使用多线程。 首先,我们要理解什么是线程。线程是操作系统分配CPU时间的基本单位,每个线程都有自己的程序计数器、寄存器和栈,它们共享同一...

    Java多线程与并发库高级应用

    ### Java多线程与并发库高级应用 #### 一、Java多线程基础 在深入探讨Java多线程与并发库的高级应用之前,我们首先需要回顾一下Java多线程的基础概念和技术要点。 ##### 1.1 线程的概念 在计算机科学中,线程是...

    Java多线程实战精讲-带你一次搞明白Java多线程高并发

    Java多线程实战精讲是Java开发者必备的技能之一,特别是在处理高并发场景时,它的重要性不言而喻。本文将深入探讨Java多线程的相关知识点,帮助你全面理解并掌握这一核心概念。 1. **线程基础** - **线程定义**:...

    Java 多线程与并发编程总结.doc

    Java多线程与并发编程是Java开发中不可或缺的一部分,它涉及到如何高效地利用CPU资源,实现并发执行多个任务。在操作系统层面,多线程是为了提高系统利用率,使得多个任务能够"同时"执行,但实际上,由于CPU的时钟...

    Java互联网架构多线程并发编程原理及实战 视频教程 下载4.zip

    Java互联网架构多线程并发编程原理及实战 视频教程 下载 1-1 课程简介.mp4 1-2 什么是并发编程.mp4 1-3 并发编程的挑战之频繁的上下文切换.mp4 1-4 并发编程的挑战之死锁.mp4 1-5 并发编程的挑战之线程安全....

    多线程优先级示例_赛马

    在计算机编程中,多线程是一种并发执行任务的技术,它允许多个线程在同一时间运行,从而提高了程序的效率和响应速度。特别是在多核处理器系统中,多线程能够充分利用硬件资源,使得程序能并行处理不同的任务。本文将...

    Java多线程-Thread类的常用结构及线程优先级

    Java多线程编程是开发高并发应用的基础,其中Thread类是实现多线程的核心类。本文将详细解析Thread类的常用结构以及线程优先级。 一、Thread类的常用结构 1. 线程中的构造器 - `Thread()`:创建一个没有指定名称...

    java多线程、并发及线程池介绍收藏的几篇文档

    Java多线程、并发以及线程池是Java编程中至关重要的概念,特别是在处理高并发、高性能的系统设计时。以下是对这些主题的详细说明: 1. **Java 程序中的多线程** - 多线程允许一个程序同时执行多个任务,提高程序...

    Java互联网架构多线程并发编程原理及实战 视频教程 下载.zip

    Java互联网架构多线程并发编程原理及实战 视频教程 下载 1-1 课程简介.mp4 1-2 什么是并发编程.mp4 1-3 并发编程的挑战之频繁的上下文切换.mp4 1-4 并发编程的挑战之死锁.mp4 1-5 并发编程的挑战之线程安全....

    java多线程的讲解和实战

    4. **线程优先级与调度**:Java的`Thread`类提供了设置线程优先级的方法,如`setPriority(int priority)`,但实际线程调度依赖于操作系统的策略,优先级并不保证绝对的执行顺序。 5. **守护线程(Daemon)**:守护...

    Java互联网架构多线程并发编程原理及实战 视频教程 下载2.zip

    Java互联网架构多线程并发编程原理及实战 视频教程 下载 1-1 课程简介.mp4 1-2 什么是并发编程.mp4 1-3 并发编程的挑战之频繁的上下文切换.mp4 1-4 并发编程的挑战之死锁.mp4 1-5 并发编程的挑战之线程安全....

    Java互联网架构多线程并发编程原理及实战 视频教程 下载3.zip

    Java互联网架构多线程并发编程原理及实战 视频教程 下载 1-1 课程简介.mp4 1-2 什么是并发编程.mp4 1-3 并发编程的挑战之频繁的上下文切换.mp4 1-4 并发编程的挑战之死锁.mp4 1-5 并发编程的挑战之线程安全....

    Java互联网架构多线程并发编程原理及实战 视频教程 下载1.zip

    Java互联网架构多线程并发编程原理及实战 视频教程 下载 1-1 课程简介.mp4 1-2 什么是并发编程.mp4 1-3 并发编程的挑战之频繁的上下文切换.mp4 1-4 并发编程的挑战之死锁.mp4 1-5 并发编程的挑战之线程安全....

    Java 多线程的创建及方法、优先级.docx

    Java 多线程是编程中实现并发执行任务的关键特性,它允许程序在同一时间处理多个任务,从而提高了系统资源的利用率和程序的响应速度。在Java中,多线程的创建和管理是通过类 `Thread` 和接口 `Runnable` 来实现的。 ...

    基于Java多线程的并发编程指南.zip

    基于Java多线程的并发编程指南 项目简介 本项目是一个基于Java多线程的并发编程指南,旨在帮助开发者理解和掌握Java中的多线程编程技术。项目涵盖了多线程编程的核心概念、常见问题及其解决方案,包括线程的创建...

    java 多线程编程实战指南(核心 + 设计模式 完整版)

    在Java编程领域,多线程是一项至关重要的技术,它能够充分利用多核处理器的计算能力,提高应用程序的响应速度和并发性能。《Java多线程编程实战指南》这本书深入浅出地讲解了Java多线程的核心概念和实战技巧,分为...

    java多线程.pdf

    Java多线程是Java编程中不可或缺的部分,它允许程序同时执行多个任务,提高了程序的并发性和效率。在Java中,实现多线程主要有两种方式:继承Thread类和实现Runnable接口。 1. 继承Thread类: - 当你定义一个类...

    Java线程赛马优先级示例.rar

    Java线程赛马优先级示例是一个典型的多线程编程问题,它涉及到Java中的线程管理、优先级机制以及并发执行的概念。在这个示例中,我们有两个线程,一个被标记为高优先级,另一个为低优先级,它们在程序运行时会进行...

Global site tag (gtag.js) - Google Analytics