Discuss / Python / 关于Pool

关于Pool

Topic source

JoyDamn

#1 Created at ... [Delete] [Delete and Lock User]

廖老师您说虽然Pool的默认数量是CPU核心数(经过实际测试应该是CPU线程数,比如我的i5-3210M双核四线程,测试出Pool的默认参数是4而不是2,也就是说不给Pool传入参数的话,默认第五个程序开始等待),但是问题来了,当你手动给Pool传入参数,比如在我的电脑上传入

p=Pool(8)

最后输出的时候一样可以看出同时运行了8个进程,第九个才开始等待,那这样的话,考虑到我的CPU只有四个线程,这8个子进程究竟是怎么运行的呢

JoyDamn

#2 Created at ... [Delete] [Delete and Lock User]

并且和之前我说的一样,这个程序也只有在cmd上运行才看得到子进程运行的结果,直接在IDLE中运行时看不到子进程运行的结果的,不知道是为什么,好奇怪

廖雪峰

#3 Created at ... [Delete] [Delete and Lock User]

线程并发数量和cpu核数没关系,最早单核cpu照样能同时跑100线程


  • 1

Reply