''' 多线程使用场景: 怎样用Python的多线程提高效率? io操作不占用CPU 计算操作占用CPU Python多线程不适合CPU操作密集型的任务,适合io操作密集型的任务 如果有CPU操作密集型的任务需要用多进程,启动八个进程每个进程里一个线程,一共八个线程 在八核上运行,可以利用八核了,唯一的坏处是数据不能共享 怎样启动多进程呢? ''' import multiprocessing import time import threading # 功能:启动10个进程,每个进程里启动一个线程 def thread_run(): print(threading.get_ident()) def run(name): time.sleep(2) print("hello",name) t = threading.Thread(target=thread_run,) t.start() if __name__ == '__main__': for i in range(10): p = multiprocessing.Process(target=run, args=('bob{0}'.format(i),)) p.start()
打印子进程和父进程信息:
''' 每个进程都是由他的父进程启动的,每个进程都有一个父进程 ''' import os from multiprocessing import Process def info(title): print(title) print('module name:',__name__) # 模块名 print('parent process:',os.getppid()) # 父进程ID print('process id:', os.getpid()) # 本进程ID print(' ') def f(name): info('