推荐先阅读基础篇
http://t.csdnimg.cn/Fjq5O
1.定义
线程(Thread)是操作系统的资源,资源调度和执行的最小单位,创建、切换等操作消耗资源
协程(Coroutine):无需操作系统,为编程语言自带。称为用户态线程,轻量级线程
2.功能特性
1、并行与并发:线程多CPU下并行执行,协程是并发执行
一个具有多个线程的程序可以同时运行几个线程,而协同程序却需要彼此协作
的运行;
2、同步与异步:线程和进程都是同步机制,协程是异步机制
3、线程是抢占式,而协程是非抢占式的,所以协程需要用户自己释放使用权来切换到其他协程,相当于单线程
3.同步与异步
同步操作:任务按顺序执行,同步操作通过阻塞程序执行,上一个执行完才执行下一个
异步操作:无需等待上一个任务完成,不阻塞其他任务的执行
4.并行与并发
并行:多个任务在不同CPU上同时进行,提高系统处理能力和效率
并发:多个任务在同一时间内交替执行,提高系统响应速度和资源利用率