什么是线程?
1个回答
展开全部
1.1 什么是线程
线程是操作系统能够进行运算调度的基本单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。和进程类似,一个线程也有就绪、运行、阻塞三种基本转状态。
线程是处理机的独立调度单位,多个线程可以并发执行。每个线程都应有一个唯一的标示符和线程控制块。线程控制块记录了线程执行的寄存器和栈等现场状态。
1.2 时间片
时间片是分时操作系统分配给每个正在运行的进程微观上的一段CPU时间,时间片的大小对系统的性能影响很大。
如果时间片足够大,以至于所有进程都能在一个时间片内执行完毕,则时间片轮转调度算法就退化为先来先服务调度算发。如果时间片很小,那么处理机将在进程间过于频繁切换,使处理机的开销增大,而真正用于处理用户作业的时间将减少,因此时间片的大小应选择适当。
1.3 线程安全
线程不持有资源,但是同一进程中的所有线程可以共享进程的资源,所以说我们遇到的大部分线程的问题基本是因为共享资源引起的。
也就是说,当多个线程同时访问一块共享资源(某一块内存),因为时序性问题,会导致数据错乱,这就是线程不安全。
1.4 同步、异步
同步:在发出一个同步调用时,在没有得到结果之前,该调用就不返回。
异步:在发出一个异步调用后,调用者不会立刻得到结果,该调用就返回了。
1.5 并发,并行
并发是同一个时间段内,几个作业都在同一个CPU上运行,但任意一个时刻点上只有一个作业在处理机上运行。
并行是同一个时间段内,几个作业在几个CPU上运行,任意一个时刻点上,有多个作业在同时运行,并且多个作业之间互不干扰
线程是操作系统能够进行运算调度的基本单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。和进程类似,一个线程也有就绪、运行、阻塞三种基本转状态。
线程是处理机的独立调度单位,多个线程可以并发执行。每个线程都应有一个唯一的标示符和线程控制块。线程控制块记录了线程执行的寄存器和栈等现场状态。
1.2 时间片
时间片是分时操作系统分配给每个正在运行的进程微观上的一段CPU时间,时间片的大小对系统的性能影响很大。
如果时间片足够大,以至于所有进程都能在一个时间片内执行完毕,则时间片轮转调度算法就退化为先来先服务调度算发。如果时间片很小,那么处理机将在进程间过于频繁切换,使处理机的开销增大,而真正用于处理用户作业的时间将减少,因此时间片的大小应选择适当。
1.3 线程安全
线程不持有资源,但是同一进程中的所有线程可以共享进程的资源,所以说我们遇到的大部分线程的问题基本是因为共享资源引起的。
也就是说,当多个线程同时访问一块共享资源(某一块内存),因为时序性问题,会导致数据错乱,这就是线程不安全。
1.4 同步、异步
同步:在发出一个同步调用时,在没有得到结果之前,该调用就不返回。
异步:在发出一个异步调用后,调用者不会立刻得到结果,该调用就返回了。
1.5 并发,并行
并发是同一个时间段内,几个作业都在同一个CPU上运行,但任意一个时刻点上只有一个作业在处理机上运行。
并行是同一个时间段内,几个作业在几个CPU上运行,任意一个时刻点上,有多个作业在同时运行,并且多个作业之间互不干扰
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询