首页 > 试题广场 >

请你说说线程和协程的区别

[问答题]
请你说说线程和协程的区别
线程消耗操作系统资源,协程可以靠编译语言实现,因此称为用户态线程,量级更轻 线程并行,协程并发 线程同步,协程异步 线程抢占式,协程非抢占式,需要手动切换 线程上千,协程上万
发表于 2022-07-28 20:47:26 回复(0)
线程是cpu调度的基本单位,线程切换需要消耗很大的资源。协程是轻量级线程,是一种用户态线程
发表于 2022-06-27 09:00:34 回复(0)
线程切换需要上下文切换,协程切换不需要上下文切换,只在用户态进行切换
发表于 2022-07-05 21:12:48 回复(3)
在I/O密集型任务中协程比较合适,因为协程运行在线程之上,在线程中某个任务被I/O资源阻塞的时候可以调用另一个协程进行运行所以该线程不需要被阻塞,而且协程只运行在用户态,切换的代价很小
编辑于 2024-03-21 15:00:01 回复(0)
线程时操作系统的资源,线程的创建,切换,停止等都非常消耗资源,而创建协程不需要调用操作系统的共功能
发表于 2023-08-19 12:38:18 回复(0)
1. 线程是操作系统的资源,线程的创建、切换、停止等都非常消耗资源,而创建协程不需要调用操作系统的功能,编程语言自身就能完成,所以协程也被称为用户态线程,协程比线程轻量很多; 2.线程是并行的,而协程是并发的 3.线程进程都是同步机制,而协程是异步的。 4.线程是抢占式的,而协程是非抢占的,同一时间只有一个协程拥有运行权
发表于 2023-07-25 15:28:44 回复(0)
1、线程是操作系统的资源,线程的创建、切换、终止都会造成资源的浪费,而协程是靠编译语言来实现的,所以协程也被称作用户态线程 2、线程是并行的,协程是并发的。 3、线程同步,协程异步 4、线程抢占式,协程非抢占式,需要手动切换
发表于 2023-06-13 16:50:10 回复(0)
线程是程序执行的最小单位,协程是轻量级线程,切换不需要上下文,用户态切换便可;线程抢占式,协程非抢占式
编辑于 2024-04-25 14:06:46 回复(0)
携程本质是函数的挂起和回复,只有cpu寄存器内容的切换,而先生切换涉及到栈
编辑于 2024-03-03 13:21:15 回复(0)
线程是同步,协程是异步的,线程在多核的情况下可以做到真正意义上的并行,而协程是为并发而产生的;线程是操作系统的资源,线程的创建、切换,停止等都非常消耗资源,而创建协程不需要嗲用操作系统的功能,编程语言自身就可以完成,所以协程也被称作用户态线程,协程比线程轻量很多
发表于 2023-11-21 21:09:09 回复(0)
线程操作的是系统的资源,创建,切换,销毁比较消耗资源。协程的操作不需要调用操作系统,语言层面就能完成,所以也成为用户态线程,所以协程比线程轻量很多。 线程是抢占式,协程是非抢占式,需要用户自己切换和释放 线程进程都是同步机制,而协程则是异步
发表于 2023-11-09 21:36:35 回复(0)
1. 线程是操作系统级别的并发机制,线程的调度是由操作系统决定的;协程是用户级别的并发机制,程序员可以自主地在代码中插入挂起和恢复的点; 2. 协程的开销要比线程更小,因为协程的调度是由用户决定的,因此不需要涉及【用户态】到【内核态】的切换,并且切换的资源也更少。
发表于 2023-10-22 19:41:15 回复(0)
线程在多核环境下是能做到真正意义上的并行,而协程是为并发而产生的;一个线程运行的程序,可以同时运行几个线程,而协同程序需要彼此写作的运行。
发表于 2023-08-08 10:12:32 回复(0)
开销 创建 通信方式 并发并行
发表于 2023-03-16 01:22:25 回复(0)
线程是操作系统资源,比较消耗资源,协程可由编程语言实现,是用户态线程,轻量级
发表于 2023-02-19 09:23:59 回复(0)