Python 实现多线程的几种方式
threading.Thread 模块
继承实现:
python;gutter:true;">import threadingimport time
class TestThread(threading.Thread):
def __init__(self, name):
super(TestThread, self).__init__()
self.name = name
def run(self):
print(\'线程%s 开始\' % self.name)
time.sleep(5)
print(\'线程%s 结束\' % self.name)
def main():
threads = []
thread_name = [\'1\', \'2\', \'3\']
for name in thread_name:
t = TestThread(name)
threads.append(t)
for thread in threads:
thread.start() # 启动线程
for thread in threads:
thread.join() # 阻塞主线程
if __name__ == \'__main__\':
main()
函数实现:
import threadingimport time
def main(name):
print(\'线程%s 开始\' % name)
time.sleep(5)
print(\'线程%s 结束\' % name)
if __name__ == \'__main__\':
threads = []
thread_name = [\'1\', \'2\', \'3\']
for name in thread_name:
t = threading.Thread(target=main, args=(name,))
t.start()
threads.append(t)
for thread in threads:
thread.join()
concurrent.futures 模块
线程池:
import timefrom concurrent.futures import ThreadPoolExecutor
def main(name):
print(\'线程%s 开始\' % name)
time.sleep(5)
print(\'线程%s 结束\' % name)
if __name__ == \'__main__\':
thread_name = [\'1\', \'2\', \'3\']
with ThreadPoolExecutor(4) as executor:
executor.map(main, thread_name)
以上是 Python 实现多线程的几种方式 的全部内容, 来源链接: utcz.com/z/386736.html