好吧,我弄错了,concurrent与multiprocessing与只有在处理IO型任务的时候才有优势,计算型任务没有什么不同。
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
确认代码没有弄错吗,怎么感觉multiprocess的那里计算了两次......
多进程是在多个进程中,一个进程的阻塞并不会影响到其他进程。比如在一个进程中进行大量的计算操作,并不会对其他进程产生较大影响。
协程就是在一个线程中,如果协程中一个任务发生阻塞,其余任务也将受到影响。比如说在一个任务中,进行大量的计算操作,那么这个任务将会阻塞其余的任务。
所以协程不适合处理计算密集型的任务,而适合处理IO密集型的任务,因为携程配合异步IO,就可以在不阻塞进程情况下,又能获得同步编程的快感。
确认代码没有弄错吗,怎么感觉multiprocess的那里计算了两次......
多进程是在多个进程中,一个进程的阻塞并不会影响到其他进程。比如在一个进程中进行大量的计算操作,并不会对其他进程产生较大影响。
协程就是在一个线程中,如果协程中一个任务发生阻塞,其余任务也将受到影响。比如说在一个任务中,进行大量的计算操作,那么这个任务将会阻塞其余的任务。
所以协程不适合处理计算密集型的任务,而适合处理IO密集型的任务,因为携程配合异步IO,就可以在不阻塞进程情况下,又能获得同步编程的快感。