导语:
本文主要介绍了关于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如何剪断一个字符串08/14
- ♥ 把你的朋友变成表情包?Python:So easy01/18
- ♥ 初学者学C语言还是学Python10/31
- ♥ 如何从python字典中删除键值对08/12
- ♥ 如何使用 Python 类属性11/05
- ♥ python if 和 while 有什么区别09/06
内容反馈