Python进程与线程知识

126 阅读1分钟

  Python进程与线程知识,Python开发语言现在已经是被大家非常看中的编程语言了,本篇文章给读者们分享一下Python进程与线程知识小结,本篇文章具有一定的参考借鉴价值,感兴趣的小伙伴来了解一下吧,希望对小伙伴们有帮助。

传统方式是调用2个方法执行1个任务,方法按顺序依次执行:

# -*- coding:utf-8 -*-

import threading

import time

def run(n):

print('task',n)

time.sleep(3)

if __name__ == '__main__':

run('t1')

run('t2')

多线程例子

2个线程同时并发执行1个任务:

# -*- coding:utf-8 -*-

import threading

import time

def run(n):

print('task',n)

time.sleep(3)

if __name__ == '__main__':

t1=threading.Thread(target=run,args=('t1',))

t2=threading.Thread(target=run,args=('t2',))

t1.start()

t2.start()

自己写一个类继承继承threading.Thread

# -*- coding:utf-8 -*-

import threading

import time

class MyThread(threading.Thread):

def __init__(self,n):

super(MyThread,self).__init__()

self.n=n

#这里面默认就有一个run方法

def run(self):

print('runing task',self.n)

if __name__ == '__main__':

#在主方法通过对象调用线程

t1=MyThread('t1')

t2=MyThread('t2')

t1.run()

t2.run()

使用for循环启动多个线程

# -*- coding:utf-8 -*-

import threading

import time

def run(n):

print('task',n)

time.sleep(3)

if __name__ == '__main__':

for i in range(10):

t=threading.Thread(target=run,args=('t-%s'%i,))

t.start()

等多线程同时执行完后,再执行其它代码,因为线程是与其它代码一起运行的

# -*- coding:utf-8 -*-

import threading

import time

def run(n):

print('task',n)

time.sleep(3)

if __name__ == '__main__':

time_start=time.time()

#定义一个空列表装线程t实例

t_objects=[]

for i in range(10):

t=threading.Thread(target=run,args=('t-%s'%i,))

t.start()

t_objects.append(t)

# 等所有线程执行完后,再执行下面的代码

# 因为线程与下面的代码是同时运行的

# 要想先等线程执行完毕再执行其它代码

# 使用join()方法进行阻塞

#在这里统一结束所有t线程

for i in t_objects:

t.join()

time_end=time.time()

sun=time_end-time_start

print(sun)