线程并发与进程并发各有什么you_并行与并发的区别?线程与进程的区别?

并行与并发的区别?

假设一个有三个学生需要辅导作业,帮每个学生辅导完作业是一个任务

顺序执行:老师甲先帮学生A辅导,辅导完之后再取给B辅导,最后再去给C辅导,效率低下 ,很久才完成三个任务

并发:老师甲先给学生A去讲思路,A听懂了自己书写过程并且检查,而甲老师在这期间直接去给B讲思路,讲完思路再去给C讲思路,让B自己整理步骤。这样老师就没有空着,一直在做事情,很快就完成了三个任务。与顺序执行不同的是,顺序执行,老师讲完思路之后学生在写步骤,这在这期间,老师是完全空着的,没做事的,所以效率低下。

并行:直接让三个老师甲、乙、丙三个老师“同时”给三个学生辅导作业,也完成的很快。

总结:

并发就是指代码逻辑上可以并行,有并行的潜力,但是不一定当前是真的以物理并行的方式运行。并发指的是代码的性质,并行指的是物理运行状态。

顾名思义,并发强调的是一起出发,并行强调的是一起执行。并发的反义是顺序,并行的反义是串行。并发并行并不是互斥概念,只不过并发强调任务的抽象调度,并行强调任务的实际执行。

线程与进程的区别?

线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位;

一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线;

进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间(包括代码段、数据集、堆等)及一些进程级的资源(如打开文件和信号),某进程内的线程在其它进程不可见;

调度和切换:线程上下文切换比进程上下文切换要快得多。

早期的操作系统并没有线程的概念,只有进程,进程负责操作系统对应用程序资源的分配以及程序任务的调度执行,

但随着计算机科学的发展,为了提高操作系统的资源利用率,人们提出了线程的概念,用线程来控制应用程序任务的调度

执行,进程负责操作系统对应用程序资源的分配。也就是说进程是操作系统对资源分配的最小单位,线程是任务调度执行的最小

单位,进程由一个或多个线程组成。

线程的概念实际上可以分为两种,用户线程和内核线程,用户线程指的就是我们应用程序中的线程,内核线程指操作系统处理器所

具有的一种线程。用户线程被调度的时候,会被映射到内核线程上,内核线程进行调度执行。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值