ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

线程与进程

2019-11-12 16:04:27  阅读:184  来源: 互联网

标签:状态 Thread 阻塞 线程 进程 运行


进程:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。(百度百科)

比如:2345加速浏览器、eclipse、任务管理器、正在操作系统中运行“.exe”等

 

 

 

线程:是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一个进程可以有很多线程,每条线程并行执行不同的任务。

比如我现在电脑正在执行的进程(57个)。像QQ.exe运行的时候就有很多子任务在运行,比如聊天线程、好友视频线程、下载文件线程等等。

 

1、创建线程的方式

(1)继承Thread类,并重写run()方法。

(2)实现Runnable接口

(3)实现Callable接口,并实现call方法。

2、线程的集中状态

(1)新建立的状态

即Thread  t1 = new Thread ();

(2)可运行的状态Runnable

线程创立,调用start()方式就处于可运行状态,等待获取cpu资源后方可执行。

(3)阻塞Blocked

阻塞是因为线程因为某种原因放弃了cpu的使用权,暂时停止运行,知道线程进入可运行状态,重新获取cpu资源。阻塞情况分为三种

1)等待阻塞:运行的线程执行wati()方法,jvm会将线程放入等待队列。

2)同步阻塞:运行的线程在获取对象的同步锁时,该锁被占用,线程放入锁池中。

3)其他阻塞:运行的线程执行 Thread . sleep 或 t . join ()方法,或者发出了 I / O 请求时, JVM 会把该线程置为阻塞状态。当 sleep ()状态超时、 join ()等待线程终止或者超时、或者 I / O 处理完毕时,线程重新转入可运行( runnable )状态

 

(4)死亡dead

线程main()方法或run()方法执行结束,或者因为异常而退出线程,死亡线程不可再复生。

 

 

标签:状态,Thread,阻塞,线程,进程,运行
来源: https://www.cnblogs.com/hjdk05/p/11816952.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有