目录
一:介绍
二:多线程实现
三:多进程实现
Python 的多线程和多进程都是实现并发执行的方式,但它们有一些关键的区别:
总的来说,Python 的多线程和多进程都是实现并发执行的有效方式,但具体选择哪种方式取决于任务的类型和需求。对于 I/O 密集型任务,多线程可能更合适;对于计算密集型任务,多进程可能更合适。
#!/usr/bin/python
#coding=utf-8
import threading
import time
class myThread(threading.Thread): #继承父类threading.Thread
def __init__(self, threadID, name, counter):
threading.Thread.__init__(self)
self.threadID = threadID #线程id
self.name = name #名字
self.counter = counter #执行次数
def run(self): #将要执行的代码写到run函数里面 线程在创建后会直接运行run函数
print "Starting " + self.name
print_time(self.name, self.counter, 5)
print "Exiting " + self.name
def print_time(threadName, delay, counter): #定义三个参数,线程名,延迟,次数
while counter:
time.sleep(delay)
print "%s" % threadName + 'hello'
counter = counter - 1
#create a new thread
thread1 = myThread(1, "Thread1", 1)
thread2 = myThread(2, "Thread2", 2)
#open the thread
thread1.start()
thread2.start()
import multiprocessing
def worker():
"""这是进程执行的函数"""
print("Worker process is running")
if __name__ == '__main__':
# 创建进程池。
pool = multiprocessing.Pool()
# 启动多个进程
for i in range(5):
pool.apply_async(worker)
# 关闭进程池
pool.close()
pool.join()