Implementation of multi-threaded operations based on Python script under Linux platform
Overview:
Multi-threading is a common concurrent programming method, which can improve the efficiency of the program. Execution efficiency, especially when processing IO-intensive tasks, is more prominent. As a high-level programming language, Python provides a rich thread operation library, making multi-threaded programming possible. This article will introduce how to use Python scripts for multi-threaded operations on the Linux platform and give specific code examples.
In this article, we mainly focus on Python’s threading module, which has the advantages of simplicity, ease of use, cross-platform, etc., and is suitable for use under the Linux platform.
(2) Define and create threads
class MyThread(threading.Thread):
def __init__(self): threading.Thread.__init__(self) def run(self): # 线程执行的代码
thread1 = MyThread()
thread2 = MyThread()
...
(3) Start thread
thread1. start()
thread2.start()
...
(4) Wait for the thread to end
thread1.join()
thread2.join()
.. .
In the above steps, we first imported the threading module, and then defined a custom thread class MyThread that inherits from the Thread class. In the custom thread class, you need to implement the run method and write the code for thread execution in it.
import threading import urllib.request class DownloadThread(threading.Thread): def __init__(self, url, filename): threading.Thread.__init__(self) self.url = url self.filename = filename def run(self): print("开始下载:{0}".format(self.filename)) urllib.request.urlretrieve(self.url, self.filename) print("下载完成:{0}".format(self.filename)) # 定义文件列表和下载链接 files = ["file1.txt", "file2.txt", "file3.txt"] urls = [ "http://example.com/file1.txt", "http://example.com/file2.txt", "http://example.com/file3.txt" ] # 创建并启动线程 threads = [] for i in range(len(files)): t = DownloadThread(urls[i], files[i]) t.start() threads.append(t) # 等待线程结束 for t in threads: t.join()
In the above example, a custom thread class DownloadThread is first defined, and its initialization method receives a download link and file name. In the run method, use the urllib.request.urlretrieve function to download the file and print relevant information when the download starts and completes.
Next, we define the list of files to be downloaded and the corresponding download link. Then, create and start multiple download threads through a loop and add them to the thread list.
Finally, use the join method to wait for all threads to complete execution to ensure that the download operation is completed.
The above is the detailed content of Implementation of multi-threaded operation based on Python script under Linux platform. For more information, please follow other related articles on the PHP Chinese website!