线程概述

1.线程是在进程当中创建的

2.程序是静态的概念,进程是动态的概念

3.进程是程序执行的实例,是担当分配系统资源(CPU时间、内存等)的基本单位;进程是线程的容器,一个进程可以带有多个线程;在不创建新的线程的时候,至少有一个线程。

4.进程(包括父子进程)都是独立的空间,假如父进程崩溃了,不会影响到子进程。这是基于linux内核的保护模式。

5.线程类似于寄生虫一样,寄生在进程当中,用的是进程当中的资源,没有独立的空间,只有自己栈的空间。

6.一个线程死掉就等于整个进程死掉,然而多进程就不一样,假如子进程崩了,父进程依然还可以跑。总结,多进程的程序比多线程的程序健壮,但是进程消耗资源大,代表要开辟更大的空间,所以效率要差一些,也有好处,好处在于共享某些变量的并发操作。

7.进程和线程的区别(也是理由)
(1)进程有独立的地址空间,线程没有单独的地址空间(同一进程内的线程共享进程的地址空间),也就是说,某一个进程空间,由多个线程共享。

(2)进程是程序执行时的一个实例,分配系统资源(CPU和内存),来维护它的数据段和代码段以及堆和栈。

(3)线程的优点:

线程是一种节俭的多任务方式,启动一个线程所花费的空间远远小于启动一个进程所花费的空间,而且,线程间彼此切换所需的时间也远远小于进程间切换所需要的时间。也就是说,从内存的开销上,线程比较节省,另一方面,每个线程直接切换,也比较快。

(4)线程共享一个进程的空间,而多进程,每一个进程都有自己的独立空间,来维护它的代码段、堆栈段和数据段,消耗内存,也导致切换效率低。

(5)线程之间的数据是共享的。

——@峰子_仰望阳光

——@ 上官可编程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值