📜  如何在Python中创建一个新线程

📅  最后修改于: 2022-05-13 01:54:44.823000             🧑  作者: Mango

如何在Python中创建一个新线程

Python中的线程是进程中的一个实体,可以安排执行。简而言之,线程是由计算机执行的计算过程。它是程序中可以独立于其他代码执行的一系列此类指令。

在Python中,有两种创建新线程的方法。在本文中,我们还将使用Python中的线程模块。以下是这些进程的详细列表:

1.使用类创建Python线程

下面有一个编码示例,后面是使用Python中的类创建新线程的代码说明。

Python3
# import the threading module
import threading
 
class thread(threading.Thread):
    def __init__(self, thread_name, thread_ID):
        threading.Thread.__init__(self)
        self.thread_name = thread_name
        self.thread_ID = thread_ID
 
        # helper function to execute the threads
    def run(self):
        print(str(self.thread_name) +" "+ str(self.thread_ID));
 
thread1 = thread("GFG", 1000)
thread2 = thread("GeeksforGeeks", 2000);
 
thread1.start()
thread2.start()
 
print("Exit")


Python3
from threading import Thread
from time import sleep
 
# function to create threads
def threaded_function(arg):
    for i in range(arg):
        print("running")
         
        # wait 1 sec in between each thread
        sleep(1)
 
 
if __name__ == "__main__":
    thread = Thread(target = threaded_function, args = (10, ))
    thread.start()
    thread.join()
    print("thread finished...exiting")


输出:

GFG 1000
GeeksforGeeks 2000
Exit

现在让我们看看我们在代码中做了什么。

  1. 我们创建了线程类的子类。
  2. 然后我们重写线程类的__init__函数。
  3. 然后我们重写run方法来定义线程的行为。
  4. start() 方法启动一个Python线程。

2.使用函数创建Python线程

下面的代码显示了使用函数创建新线程:

Python3

from threading import Thread
from time import sleep
 
# function to create threads
def threaded_function(arg):
    for i in range(arg):
        print("running")
         
        # wait 1 sec in between each thread
        sleep(1)
 
 
if __name__ == "__main__":
    thread = Thread(target = threaded_function, args = (10, ))
    thread.start()
    thread.join()
    print("thread finished...exiting")

输出:

running
running
running
running
running
running
running
running
running
running
thread finished...exiting

所以我们在上面的代码中做了什么,

  1. 我们定义了一个函数来创建一个线程。
  2. 然后我们使用 threading 模块创建一个线程,该线程调用该函数作为其目标。
  3. 然后我们使用 start() 方法来启动Python线程。