进程与线程

本文详细介绍了线程的概念,包括它是进程中的基本执行单元,以及创建线程的原因,如并发编程和资源利用。讨论了线程与进程的联系和区别,强调了线程调度、内存共享和进程/线程开销。还提到了线程池和协程等高级应用。
摘要由CSDN通过智能技术生成

一 线程

1.认识线程(Thread)

  线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。

2.为什么会有线程?

 1)“并发编程”的重要性

   单核cpu已不符合人们预期的算力,就需要多核cpu,而并发编程能更充分利用多核cpu资源。

   有的场景需要等待IO,在此时间内,为了让等待的时间能做一些别的事,也需要用到并发编程。

2)线程实现并发编程比进程更轻量

   线程的创建、销毁、调度都比进程更快。

reason:创建进程可能包含多个线程,涉及到资源分配/释放,而线程之间共享资源,省去了这一步

3)即使线程比进程轻量,不满足的人类又搞出来了“线程池(ThreadPool)”和“协程”(Coroutine)。

3,线程的好处

 (1)易于调度。

 (2)提高并发性。通过线程可方便有效地实现并发性。进程可创建多个线程来执行同一程序的不同部分。

(3)开销少。创建线程比创建进程要快,所需开销很少。

(4)利于充分发挥多处理器的功能。通过创建多线程进程,每个线程在一个处理器上运行,从而实现应用程序的并发性,使每个处理器都得到充分运行

二 进程和线程的联系

1.线程是“进程的一部分”,一个进程中至少包含一个线程,即主线程,可包含多个线程。

2.一个PCB描述一个线程,若干个PCB联合在一起描述一个进程。

三  进程和线程的区别

1.PCB属性中

    pid------每个线程都不一样

    内存指针和文件描述符表------同一进程的若干线程,相同

    状态优先级,上下文,记账信息------每个线程都有一组自己的属性

2.进程和进程之间不共享内存空间,同一进程的线程之间共享同一个内存空间。

3.进程是系统分配资源的最小单位,线程是系统调度的最小单位。

4.一个进程挂了不会影响其他进程,一个线程挂了可能会把同进程内的其他线程一起带崩溃。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值