总结
线程和进程的区别
多进程中子进程与父进程之间是相互独立的,并且内存空间相互独立。并且多进程比较稳定,如果一个子进程崩溃,不会影响到祝进程和其他子进程,缺点是穿件进程的代价大,多线程模式通常比多进程快一点,而且,多线程模式致命的,缺点是如果任何一个线程挂掉都可能直接造成整个进程崩溃,因为所有的线程共享进程内存。并且无论是线程还是进程,只要数量一多,效率肯定上不去。
用户态锁和内核态锁的区别是:用户态锁不能设置超时,但是内核态锁可以设置超时,但是需要从用户态切换到内核态,成本比较高,可以跨进程使用。
协程:协程在执行的过程中可以通过yield from 将cpu的控制权交出来,而去执行别的子程序,在适当的时候返回来接着执行。
为什么协程更具有性能优势
子进程切换不是线程切换,而是由程序自身控制,因此,没有线程切换的开销