python的多线程示例代码
时间: 2023-05-17 11:07:26 浏览: 62
以下是一个简单的 Python 多线程示例代码:
```python
import threading
def worker(num):
"""线程要执行的任务"""
print('Worker %d started' % num)
# 执行任务
for i in range(10000000):
pass
print('Worker %d finished' % num)
if __name__ == '__main__':
# 创建 5 个线程
threads = []
for i in range(5):
t = threading.Thread(target=worker, args=(i,))
threads.append(t)
# 启动所有线程
for t in threads:
t.start()
# 等待所有线程执行完毕
for t in threads:
t.join()
print('All workers finished')
```
这个示例代码创建了 5 个线程,并让它们执行一个简单的任务。在实际应用中,可以根据需要创建更多的线程来提高程序的并发性能。
相关问题
python 多线程示例代码
可以提供以下示例代码:
```python
import threading
def worker():
print('Worker started')
# do some work
print('Worker finished')
threads = []
for i in range(5):
t = threading.Thread(target=worker)
threads.append(t)
t.start()
# wait for all threads to finish
for t in threads:
t.join()
```
该代码创建了5个线程,并同时执行它们的`worker`函数。在这个例子中,`worker`函数不做任何有意义的工作,只是打印一些信息。在实际应用中,`worker`函数应该执行某些有用的计算或IO操作。线程执行结束后,`join()`方法将等待所有线程完成。
python 多线程 示例
Python多线程示例程序可以使用Python内置的threading模块或者PyQt5中的QThread类来实现。其中,使用threading模块可以通过创建Thread对象并将函数传递给target参数来实现多线程。而使用QThread类则需要继承该类并重写run()方法,在该方法中实现线程需要执行的内容。下面是两个示例代码:
使用threading模块:
```
import threading
import time
def print_numbers():
for i in range(5):
print(i)
time.sleep(0.5)
def print_letters():
for letter in ['a', 'b', 'c', 'd', 'e']:
print(letter)
time.sleep(0.5)
t1 = threading.Thread(target=print_numbers)
t2 = threading.Thread(target=print_letters)
t1.start()
t2.start()
t1.join()
t2.join()
print('All threads finished')
```
使用QThread类:
```
from PyQt5.QtCore import QThread
import time
class MyThread(QThread):
def __init__(self, parent=None):
super(MyThread, self).__init__(parent)
def run(self):
for i in range(5):
print(i)
time.sleep(0.5)
thread = MyThread()
thread.start()
thread.wait()
print('Thread finished')
```