线程是什么

时间:2024-03-15 05:13:49编辑:奇事君

什么是线程?

1.1 什么是线程

线程是操作系统能够进行运算调度的基本单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。和进程类似,一个线程也有就绪、运行、阻塞三种基本转状态。

线程是处理机的独立调度单位,多个线程可以并发执行。每个线程都应有一个唯一的标示符和线程控制块。线程控制块记录了线程执行的寄存器和栈等现场状态。
1.2 时间片
时间片是分时操作系统分配给每个正在运行的进程微观上的一段CPU时间,时间片的大小对系统的性能影响很大。
如果时间片足够大,以至于所有进程都能在一个时间片内执行完毕,则时间片轮转调度算法就退化为先来先服务调度算发。如果时间片很小,那么处理机将在进程间过于频繁切换,使处理机的开销增大,而真正用于处理用户作业的时间将减少,因此时间片的大小应选择适当。
1.3 线程安全
线程不持有资源,但是同一进程中的所有线程可以共享进程的资源,所以说我们遇到的大部分线程的问题基本是因为共享资源引起的。
也就是说,当多个线程同时访问一块共享资源(某一块内存),因为时序性问题,会导致数据错乱,这就是线程不安全。
1.4 同步、异步

同步:在发出一个同步调用时,在没有得到结果之前,该调用就不返回。
异步:在发出一个异步调用后,调用者不会立刻得到结果,该调用就返回了。

1.5 并发,并行

并发是同一个时间段内,几个作业都在同一个CPU上运行,但任意一个时刻点上只有一个作业在处理机上运行。

并行是同一个时间段内,几个作业在几个CPU上运行,任意一个时刻点上,有多个作业在同时运行,并且多个作业之间互不干扰


cpu的线程是什么意思

线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。一个进程可以有很多线程,每条线程并行执行不同的任务。在多核或多CPU,或支持Hyper-threading的CPU上使用多线程程序设计的好处是显而易见,即提高了程序的执行吞吐率。在单CPU单核的计算机上,使用多线程技术,也可以把进程中负责I/O处理、人机交互而常被阻塞的部分与密集计算的部分分开来执行,编写专门的workhorse线程执行密集计算,从而提高了程序的执行效率。扩展资料:线程与进程的区别可以归纳为以下4点:1)地址空间和其它资源(如打开文件):进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。2)通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。3)调度和切换:线程上下文切换比进程上下文切换要快得多。4)在多线程OS中,进程不是一个可执行的实体。参考资料来源:百度百科-线程

上一篇:美洲虎汽车

下一篇:古希腊地图