python thread
时间: 2023-08-31 18:04:56 浏览: 91
Python中的线程是一种轻量级的执行单元,它允许我们在一个进程中同时执行多个任务。Python提供了两个模块来支持多线程编程:`thread`和`threading`。
`thread`模块提供了基本的线程操作函数,但不支持锁和信号量等高级线程控制机制。因此,在Python 3.x版本中,`thread`模块已经被废弃了,我们应该使用`threading`模块来进行多线程编程。
下面是一个使用`threading`模块创建线程的简单示例:
```python
import threading
def print_numbers():
for i in range(1, 6):
print(i)
if __name__ == '__main__':
t = threading.Thread(target=print_numbers)
t.start()
```
在这个示例中,我们定义了一个`print_numbers`函数,它会打印1到5之间的数字。然后我们创建了一个新的线程`t`,并将`print_numbers`函数作为线程的目标函数。最后,我们调用`t.start()`方法来启动线程。
注意到`print_numbers`函数是在一个新的线程中执行的,所以它将和主线程同时执行。如果我们不使用线程,那么`print_numbers`函数将会在主程序中顺序执行,并且只有等它执行完毕后,主程序才能继续执行下去。
除了基本的线程操作外,`threading`模块还提供了许多高级的线程控制机制,例如锁、信号量、条件变量等,这些机制可以帮助我们更好地控制线程的执行流程。