进程与线程(Java多线程总结一)
来源:互联网 发布:我知道远程监控的域名 编辑:程序博客网 时间:2024/06/05 19:03
一、并发执行
①在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。
如我们在使用计算机时,可以一边听歌,一边玩游戏。这种多个程序块同时运行的现象被称作并发执行。
②但并发和并行是不同的两个概念。并发是指一个时间段内同时运行,这是个区间;而并行是指在同一个时间点上运行,这个是一个点。而且并发在同一个时间点上只能是一个程序在运行。也就是说每一个点只能运行一个程序。
④操作系统会为每一个进程分配一段有限的CPU使用时间,CPU在这段时间中执行某个进程,然后会在下一段时间切换到另一个进程中去执行。由于CPU运行速度很快,能在极短时间内在不同的进程之间进行切换,所以给人以同时实行很多程序的感觉。
⑤单核cpu系统永远不可能实现并行,cpu只能是异步的分配给进程更进一步的说应该是线程。多核cpu的话就有可能实现并行了,既同一个时间点运行两个进程
二、进程
①Windows系统下我们打开任务管理器,点击“进程”,就会出现一个表格,表格的每一行都是一个进程,比如说QQ.exe,google chrome.exe等; 通俗的说法就是每打开一个应用程序,如QQ、谷歌浏览器,系统就打开了一个进程。系统为这个进程分配相关的资源,比如cpu、内存。
②进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。
③进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时,它才能成为一个活动的实体。
三、线程
①线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。
②当一个Java程序启动时,就会产生一个进程,该进程会默认创建一个线程,在这个线程上会运行main()方法中的代码。
③通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独 立运行和独立调度的基本单位。由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统内多个程序间并发执行 的程度,从而显著提高系统资源的利用率和吞吐量。
四、线程和进程的区别
线程和进程的区别是,不同的进程有不同的代码和数据空间,而多个线程可以共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文.多线程主要是为了节约CPU时间,发挥利用,根据具体情况而定. 线程的运行中需要使用计算机的内存资源和CPU。
五、多线程技术的优点
如果是一个单线程的程序,这个程序需要连续运行几个功能,如果正在运行的那个功能因指令需要停下,CPU就出现空闲在,等这个程序重新继续运行。
如果使用多线程技术,那么可以把这几个功能同时(并不是绝对意义上的同时)运行,当其中一个功能停时下,可以先让其他功能运行,这个可以花更短的时间完成整个任务。
- 进程与线程(Java多线程总结一)
- java多线程(一):进程与线程
- Java多线程设计(一)由浅入深介绍进程与线程
- 多线程(一)进程与线程概念
- Java多线程与并发学习之(一):进程与线程
- 操作系统总结一 进程,线程,多线程
- 面试总结-进程、线程与多线程
- Java多线程(一)进程和线程的基础知识
- java多线程(一)线程状态与创建线程
- Java多线程总结(二):线程阻塞与线程控制
- 【Java之多线程(一)】java中的多线程总结
- java多线程系列01(进程与线程)
- Java多线程1:进程与线程概述
- Java多线程1:进程与线程概述
- Java多线程1:进程与线程概述
- Java多线程基础之进程与线程
- java多线程之线程与进程简介
- Java多线程1:进程与线程概述
- java多线程下的相互通信的例子(使用notifyAll)
- POJ 2520 DNA Sequence Alignment 笔记
- MySQL(一)
- 《算法》笔记 - 01
- HttpClient
- 进程与线程(Java多线程总结一)
- MySQL(二)
- OR perceptron(感知机 )
- 事件对象
- vjudge 贪心+分治专题-N题
- hdu 2079
- 029 JDBC 开发
- tensorflow Examples:<3>实现自编码
- NOIP 2015 Day 2 stone 跳石头(二分)