python threading线程示例
时间: 2023-05-11 18:07:24 浏览: 75
以下是一个简单的 Python threading 线程示例:
```python
import threading
def print_numbers():
for i in range(1, 11):
print(i)
def print_letters():
for letter in 'abcdefghij':
print(letter)
t1 = threading.Thread(target=print_numbers)
t2 = threading.Thread(target=print_letters)
t1.start()
t2.start()
t1.join()
t2.join()
print("Done!")
```
这个示例创建了两个线程,一个打印数字,一个打印字母。通过使用 `threading.Thread` 类创建线程对象,并将要执行的函数作为参数传递给 `target` 参数。然后,通过调用 `start()` 方法启动线程。最后,通过调用 `join()` 方法等待线程完成。
相关问题
python threading线程运行时间
Python的线程(Thread)模块没有提供直接获取线程运行时间的方法,但是可以通过记录线程开始和结束时间来计算线程运行时间。
可以使用time模块的time()函数来获取当前时间戳,然后在线程开始和结束时分别记录时间戳。线程运行时间就等于结束时间戳减去开始时间戳。
下面是一个示例代码,演示如何计算线程运行时间:
```python
import threading
import time
def worker():
start_time = time.time()
# do some work...
time.sleep(2)
end_time = time.time()
print("Thread running time:", end_time - start_time)
t = threading.Thread(target=worker)
t.start()
t.join()
```
在这个示例中,worker()函数模拟了一个耗时2秒的任务,然后计算线程运行时间并输出结果。运行结果类似于以下的输出:
```
Thread running time: 2.00254487991333
```
注意,线程运行时间受到系统调度和线程阻塞等因素的影响,因此结果可能会有一定的误差。
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')
```