多线程详细讲解(多线程1理论介绍)

1. 定义程序:一组计算机指令的有序集合,是静态的,我来为大家科普一下关于多线程详细讲解?以下内容希望对你有帮助!

多线程详细讲解(多线程1理论介绍)

多线程详细讲解

1. 定义

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

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

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

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

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

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

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

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

3. 多线程优点

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

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

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

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

- 可以改善程序的结构。

4. 多线程缺点

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

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

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

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

5. 线程私有数据

线程私有数据如下:

  • 线程号
  • 寄存器(包括程序计数器和堆栈指针)
  • 堆栈
  • 信号掩码
  • 优先级
  • 线程私有的存储空间
,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页