栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

多线程1——理论介绍

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

多线程1——理论介绍

1. 定义

程序:一组计算机指令的有序集合,是静态的。

进程:运行中的程序,是动态的,有自己的生命周期,因创建而产生、因调度而运行、因等待资源或事件而处于等待状态,因完成任务而被撤销。是操作系统进行资源分配的基本单位。

线程:是进程的一个实体,是CPU调度和分派的基本单位。

2. 线程与进程的区别和联系

- 一个进程至少有一个线程,即主线程;

- 进程在执行过程中拥有独立的内存单元,而多个线程共享进程的内存;

- 线程不能独立执行,必须依存于进程中;

- 线程是操作系统的概念。在单CPU单核的情况下,在用户看来,多个线程是同时执行的,但是从操作系统调度上来看,各个线程是交替执行的。

3. 多线程优点

- 同一进程内的线程共享进程的地址空间。不同的线程可以存取内存中的同一个变量。创建线程所花费的时间远远低于创建进程。

- 在系统调度方面,线程间的切换速度要远远快于进程间的切换速度。

- 在通信机制方面,进程间的数据空间相互独立,要依赖专门的方式进行通信(如:共享内存空间、信号量、消息队列、Socket等);而一个线程的数据可以直接提供给其他线程使用。

- 可以提高多核处理器的效率。

- 可以改善程序的结构。

4. 多线程缺点

- 线程同步是个头疼的问题。

- 一个线程的崩溃可能影响到整个程序的稳定性。

- 到达一定的线程数程度后,即使再增加CPU也无法提高性能

- 线程能够提高的总性能有限,而且线程数量较大时,线程本身的调度开销不小

5. 线程私有数据

线程私有数据如下:

  • 线程号
  • 寄存器(包括程序计数器和堆栈指针)
  • 堆栈
  • 信号掩码
  • 优先级
  • 线程私有的存储空间
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1028514.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号