知行编程网知行编程网  2022-12-31 03:30 知行编程网 隐藏边栏  2 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python为什么可以多线程的相关知识,包括Python支持多线程吗,以及python多线程这些编程知识,希望对大家有参考作用。


由于线程是操作系统直接支持的执行单元,因此,高级语言通常都内置多线程的支持,Python也不例外,并且,Python的线程是真正的Posix Thread,而不是模拟出来的线程。


为什么python可以多线程

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……

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享