📅  最后修改于: 2023-12-03 15:41:14.604000             🧑  作者: Mango
在计算机编程领域中,线程(Thread)是指进程内的一个“执行单元”,也称为轻量级进程。每个进程都有自己的一组线程。单个线程的代码执行是不能被中断的,当一个进程有多个线程时,线程间可以并发执行,这就是多线程。
线程有以下几个特点:
Python是一门高级语言,通过提供丰富的标准库和第三方库,可以方便地使用线程。
Python提供了两个模块来支持多线程:_thread和threading。
_thread模块是Python的底层模块,它提供了基本的线程和锁机制。以下是使用_thread模块创建线程的示例代码:
import _thread, time
def print_time(threadName, delay):
count = 0
while count < 5:
time.sleep(delay)
count += 1
print("%s: %s" % (threadName, time.ctime(time.time())))
try:
_thread.start_new_thread(print_time, ("Thread-1", 1))
_thread.start_new_thread(print_time, ("Thread-2", 2))
except:
print("Error: unable to start thread")
while 1:
pass
代码解释:
threading模块是Python的高级模块,提供了更丰富的线程管理方法,它是对_thread模块的封装。以下是使用threading模块创建线程的示例代码:
import threading, time
class MyThread(threading.Thread):
def __init__(self, threadID, name, delay):
threading.Thread.__init__(self)
self.threadID = threadID
self.name = name
self.delay = delay
def run(self):
print("Starting " + self.name)
print_time(self.name, self.delay)
print("Exiting " + self.name)
def print_time(threadName, delay):
count = 0
while count < 5:
time.sleep(delay)
count += 1
print("%s: %s" % (threadName, time.ctime(time.time())))
# 创建新线程
thread1 = MyThread(1, "Thread-1", 1)
thread2 = MyThread(2, "Thread-2", 2)
# 开启线程
thread1.start()
thread2.start()
# 等待线程执行完毕
thread1.join()
thread2.join()
print("Exiting Main Thread")
代码解释:
线程是一种非常重要的编程技术,在提高程序性能、优化用户体验等方面发挥着至关重要的作用。Python提供了两个模块来支持多线程:_thread和threading,开发人员可以根据需要选择使用哪个模块。