结束了五子棋的项目后,最近开始学习有关线程的一些知识,对于这一块的知识的理解还要在日后继续完善加强。

一、 相关概念的区分

简单而言,一个应用程序就是一个进程,而线程是一个进程内部的多个运行单位。

1.什么是程序
我们电脑上运行的一个个软件就是程序,比如像QQ、微信、Java编程用的eclipse、画图板、五子棋……等等
程序都是由算法、数据、代码、资源文件……等组成的;用官方语言来说,是一组运行于电子计算机上的,计算机能识别和执行的指令,并且所有的程序都是存储在计算机的磁盘上的。

2.什么是进程
把电脑上的程序运行起来后,就是一个进程,要注意的是,在一个操作系统中,所能开启的进程是有限的,而并非是无止境的,进程运行完毕后储存在内存中。在面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。

3.什么是线程
线程是进程中的一个独立运行的单位,各个线程之间互不影响、独立进行。我们打个比方,让线程控制一段代码的执行,可以是事情,可以是任务,但是这一段代码执行完毕后,线程的运行就会结束。补充一下,线程是在CPU上执行的。
因此总结,线程的生命周期就是:创建、启动、执行、暂停、等待、休眠、停止的整个过程。感受一下,线程在现实生活中最像什么?很显然,因为他有有限的生命周期,因此更像人类。那么,线程的执行需要消耗掉哪些硬件资源呢?一共消耗掉三种资源:
1.CUP,主要是用来运行线程;
2.高速缓存,用来缓存线程运行时所需的数据 ;
3.内存,用来储存数据的;

打一个很形象的比方,如果人是线程,那么CPU就是一条街道,街上可以同时有多个人在走动。我们在买电脑时,总会看他的CPU是多少核的是多少线程的,这个意思就是,你的电脑上能同时运行多少个线程。
Java入门——线程基础及理解
这个就是在任务管理器中的线程运行的界面,可以看到计算机的CPU在运行很多个进程,也在同时运行很多条线程,这个就是我们所讲的进程和线程的关系

4.最后,什么是多线程
首先要明确使用多线程的目的,就是为了最大限度的利用硬件资源来提升程序的执行效率,但也仅限于最大限度的利用,而不是无止境的使用,在一个进程中不能同时开启N个线程,因为计算机的硬件资源会限制执行效率。在你的进程中,同时会有多个独立的运行单位(即线程),这进程就是一个多线程的进程(即程序)。

相关文章:

  • 2021-07-11
  • 2021-08-01
  • 2021-04-17
  • 2021-10-12
  • 2021-07-22
  • 2022-01-06
  • 2021-11-24
猜你喜欢
  • 2021-10-17
  • 2021-07-31
  • 2021-07-24
  • 2021-07-23
  • 2021-11-02
  • 2021-06-29
  • 2021-11-21
相关资源
相似解决方案