学习笔记(23):Python网络编程&并发编程-开启线程的两种方式

立即学习:https://edu.csdn.net/course/play/24458/296437?utm_source=blogtoedu

开启线程的两种方法:threading.Thread

1.方法一:

from threading import Thread
import time

#方式一:直接使用thrending下的Thread类
def mythread(name):
    print('我是%s'%name)
    time.sleep(0.5)

if __name__ == '__main__':
    t1 = Thread(target=mythread,args=('子进程1',))
    t1.start()

    print('主进程运行结束')

#这里有一个进程两个线程,主进程、主线程、子线程

上面是子线程的创建,下面是子进程的创建,注意区分

#方式一:使用python内置模块multiprocessing下的process类
from multiprocessing import Process
import time

#定义进程函数
def task(name):
    print('%s is running!'%name)
    time.sleep(3)
    print('%s is done!'%name)

if __name__ == '__main__':
    #调用process类,并且实例化
    # p = Process(target=task,kwargs={'name','子进程1'})
    p = Process(target=task,args=('子进程1',))
    p.start()
    print('主')

2.方法二:

#方式二:创建继承于Thread类的自定义类
from threading import Thread
import time

class mythread(Thread):
    def __init__(self,name):#注意:下面两行的代码的顺序不能换,否则会出现错误assert self._initialized, "Thread.__init__() not called"AssertionError: Thread.__init__()not called
        super().__init__()
        self.name = name
    #创建运行函数
    def run(self):
        print('我是%s'%self.name)
        time.sleep(1)

if __name__ == '__main__':
    t = mythread('子进程1')
    t.start()

    print('主进程')

#含有一个主进程,一个主线程和一个子线程
发布了39 篇原创文章 · 获赞 11 · 访问量 403

猜你喜欢

转载自blog.csdn.net/qq_45769063/article/details/105070750