【区别】
1.阻塞不会占用CPU,忙等待会占用CPU。但忙等待也不是零成本,每个线程会占用1M内存。而且会给CLR和操作系统带来管理开销
2.忙等待可以避免上下文的切换
【阻塞/忙等待/睡眠/挂起】
阻塞是线程自己发现获取不到资源,先休息,有资源再来。不占用CPU
忙等待是线程一直等待资源。占用CPU 。
睡眠是CPU通知线程去休息,一定时间再来。不占用CPU
挂起是CPU通知线程休息,有资源CPU通知线程。不占用CPU
【tip】
当处理成百上千个IO-Bound的时候,阻塞不适用,因为开辟的线程多,内存占用太大,一般使用回调
标签:占用,阻塞,线程,等待,CPU,资源 From: https://www.cnblogs.com/AduBlog/p/16814644.html