| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> J.U.C:线程基本概念 -> 正文阅读 |
|
[Java知识库]J.U.C:线程基本概念 |
进程与线程进程(Process) 是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。程序是指令、数据及其组织形式的描述,进程是程序的实体。 线程的状态
线程有NEW(新建)、RUNNABLE(就绪)、BLOCKED(阻塞)、WAITING(不见不散)、TIMED_WAITING(过时不候)、TERMINATED(终止)这六种状态。 NEW表示线程处于新建状态,还不可以运行 RUNNABLE表示线程处于就绪状态,可以被调度器调度运行,调用线程的start方法后进入该状态。 BLOCKED表示线程在等待同步监视器锁,一般是在竞争syncronized的锁或者进入syncronized之后调用了Object.wait方法 WAITING表示线程处于等待状态,一般是调用了以下三个方法之一: Object#wait()不带参的相应地需要对应监视器对象调用notify或者notifyAll方法或者被中断interrupted Thread.join()不带参的相应地需要另外的线程执行完成 LockSupport#park()方法相应地需要调用LockSupport#unpark()方法 TIMED_WAITING表示线程处于带时等待状态,一般是调用了以下五个方法之一: Thread.sleep(long)需要等待线程休眠时间到或者被中断interrupted Object#wait(long)相应地需要对应监视器对象调用notify或者notifyAll方法或者被中断interrupted Thread.join(long)相应地需要另外的线程执行完成 LockSupport#parkNanos相应地需要调用LockSupport#unpark()方法 LockSupport#parkUntil相应地需要调用LockSupport#unpark()方法 TERMINATED线程的终止状态 wait和sleep
并行与并发并行是表示同时做多件事情,对于单核CPU来说,是达不到并行的效果的。并行标示的是同时做do多件事的能力。 用户线程和后台线程用户线程:也叫前台线程,平时用到的普通线程,自定义线程setDaemon(false),默认就是前台线程
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 18:41:15- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |