导语:
本文主要介绍了关于python为什么可以多线程的相关知识,包括Python支持多线程吗,以及python多线程这些编程知识,希望对大家有参考作用。
由于线程是操作系统直接支持的执行单元,因此,高级语言通常都内置多线程的支持,Python也不例外,并且,Python的线程是真正的Posix Thread,而不是模拟出来的线程。
Python的标准库提供了两个模块:_thread和threading。 _thread是底层模块,threading是封装了_thread的高层模块。在大多数情况下,我们只需要使用高级模块threading。
启动一个线程就是传入一个函数并创建一个Thread实例,然后调用start()开始执行:
import time, threading# 新线程执行的代码:def loop():
print('thread %s is running...' % threading.current_thread().name)
n = 0
while n < 5:
n = n + 1
print('thread %s >>> %s' % (threading.current_thread().name, n))
time.sleep(1)
print('thread %s ended.' % threading.current_thread().name)
print('thread %s is running...' % threading.current_thread().name)
t = threading.Thread(target=loop, name='LoopThread')
t.start()
t.join()
print('thread %s ended.' % threading.current_thread().name)
执行结果如下:
thread MainThread is running...
thread LoopThread is running...
thread LoopThread >>> 1
thread LoopThread >>> 2
thread LoopThread >>> 3
thread LoopThread >>> 4
thread LoopThread >>> 5
thread LoopThread ended.
thread MainThread ended.
由于任何进程默认都会启动一个线程,我们称这个线程为主线程,主线程可以启动一个新的线程。 Python 的线程模块有一个 current_thread() 函数,它总是返回当前线程的实例。
主线程实例的名字是MainThread,子线程的名字是在创建的时候指定的。我们使用 LoopThread 来命名子线程。
该名称仅用于打印时的显示,没有任何其他含义。如果起不起名字,Python会自动将线程命名为Thread-1,Thread-2……
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何使用 python tkinter 制作日历?12/22
- ♥ python中的-1是什么意思08/27
- ♥ 如何在短时间内学好python11/27
- ♥ python需要数学基础吗09/21
- ♥ Python的布尔类型是什么09/18
- ♥ 在python中使用动量交易策略12/09
内容反馈