python 笔记 之 子线程的操做

'''
子线程的操做
multiprocessing多线程Process
'''
import multiprocessing
import time


def worker(args,interval):
    print("start worker {0}".format(args))
    time.sleep(interval)
    print("end worker {0}".format(args))

'''
p表明一个多进程
p.is_alive() #判断进程是否存活
p.run()      #启动进程
p.start()    #会自动调用run方法,推荐使用
p.join(timeout) #等待子进程结束或到超时时间
p.terminate() #强制子进程退出
p.name       #进程名字
p.pid        #进程pid

multiprocessing
cpu_count()       #统计cpu总数
active_children() #得到全部子进程
'''

def main():
    print("start main")
    # 单个元祖的元素表示(1,)
    p1 = multiprocessing.Process(target=worker, args=(1, 1))
    p2 = multiprocessing.Process(target=worker, args=(2, 2))
    p3 = multiprocessing.Process(target=worker, args=(3, 3))
    p1.start()
    p1.join(timeout=0.5)
    p2.start()
    p3.start()
    print("the number of  cup is:  {0}".format(multiprocessing.cpu_count()))
    for p in multiprocessing.active_children():
        print("The name of active children is : {0},pid is : {1} is alived ".format(p.name,p.pid))
    print("end main")


if __name__ == '__main__':
    main()
相关文章
相关标签/搜索