多线程就是,你一边吃饭一边看电视还一边说话。而Python的多线程为了线程安全,整了个GIL(全局解释器锁),在计算密集方面一次只做一件事,只有I/O密集方面才能真正实现多线程。即,你不能一边吃饭一边看电视一边说话,但是可以做到先烧水然后去洗漱,洗漱完水已经开了可以喝水了。在这里,烧水就是一种I/O密集的工作。
在Python中,多线程常常被用于爬虫,因为HTTP请求和响应是个I/O密集的工作。而计算密集的工作往往会使用多进程来实现。
多线程就是,你一边吃饭一边看电视还一边说话。而Python的多线程为了线程安全,整了个GIL(全局解释器锁),在计算密集方面一次只做一件事,只有I/O密集方面才能真正实现多线程。即,你不能一边吃饭一边看电视一边说话,但是可以做到先烧水然后去洗漱,洗漱完水已经开了可以喝水了。在这里,烧水就是一种I/O密集的工作。
在Python中,多线程常常被用于爬虫,因为HTTP请求和响应是个I/O密集的工作。而计算密集的工作往往会使用多进程来实现。