python 多进程的两种创建方式

Python中使用线程有两种方式:函数或者用类来包装线程对象。

第一种---------函数

菜鸟教程的我没看懂,说说我自己懂的----看视频理解的

import time
import threading


def coding():
    for x in range(3):
        print('正在写代码:%s' % threading.current_thread())  # 获取进程名字
        time.sleep(1)


def drawing():
    for x in range(3):
        print('正在画图:%s' % threading.current_thread())
        time.sleep(1)


def main():
    t1 = threading.Thread(target=coding)  # 创建子线程 指定进程要运行的函数
    t2 = threading.Thread(target=drawing)  # 传递函数名 不需要带() 带()的是传递函数返回值

    t1.start()  # 启动进程
    t2.start()
    print(threading.enumerate())  #输出当前的进程数


if __name__ == '__main__':
    main()

第二种----类

简单点说,就是创建一个类,然后把需要作为进程运行的内容放在run 函数中就行了,之后通过创建对象的方式创建进程

import threading
import time


class CodingThread(threading.Thread):
    def run(self):
        for x in range(3):
            print('正在写代码:%s' % threading.current_thread())  # 获取进程名字
            time.sleep(1)


class DrawingThread(threading.Thread):
    def run(self):
        for x in range(3):
            print('正在画图:%s' % threading.current_thread())
            time.sleep(1)


def main():
    t1 = CodingThread()  # 通过创建对象的方式创建进程
    t2 = DrawingThread()

    t1.start()
    t2.start()


if __name__ == '__main__':
    main()

 

posted @ 2019-04-13 15:17  Evildoes  阅读(557)  评论(0编辑  收藏  举报