请问 threading 能使用多个 cpu 吗? 我写了一个简单的测试: 对于_thread 模块: #!/usr/bin/python3.4 import _thread as thread,time def a(): i = 0 while i < 10000000: time.time() i += 1 for i in range(0,10): thread.start_new_thread(a,()) time.sleep(5)
对于 threading: import threading,time def a(): i = 0 while i < 10000: print(time.time()) i += 1 def main(num): thread_list = [] for i in range(num): thread = threading.Thread(target=a,args=()) thread_list.append(thread) for thread in thread_list: print(thread ,'starting...') thread.start() for thread in thread_list: thread.join() if __name__ == '__main__': main(20)
我使用的是 centos6.7 的系统,在使用 top 命令查看时,都在使用 cpu0 和 cpu2 。 但是我知道的是一个进程中的线程同一时刻只能有一个在运行,所以只能使用一个 CPU ,但是我看到结果却不一样,这是我测试的问题吗?