Nhiều luồng trong python là gì?

Một luồng là một đơn vị thực hiện trên lập trình đồng thời. Đa luồng là kỹ thuật cho phép CPU thực thi đồng thời nhiều tác vụ của một tiến trình. Các luồng này có thể thực thi riêng lẻ trong khi chia sẻ tài nguyên quy trình của chúng

Quy trình là gì?

Một quy trình về cơ bản là chương trình đang thực thi. Khi bạn khởi động một ứng dụng trong máy tính của mình [chẳng hạn như trình duyệt hoặc trình soạn thảo văn bản], hệ điều hành sẽ tạo một quy trình

Đa luồng trong Python là gì?

Đa luồng trong lập trình Python là một kỹ thuật nổi tiếng trong đó nhiều luồng trong một quy trình chia sẻ không gian dữ liệu của chúng với luồng chính, giúp chia sẻ và liên lạc thông tin trong các luồng dễ dàng và hiệu quả. Các luồng nhẹ hơn các quy trình. Nhiều luồng có thể thực thi riêng lẻ trong khi chia sẻ tài nguyên quy trình của chúng. Mục đích của đa luồng là chạy nhiều tác vụ và các ô chức năng cùng một lúc

Trong hướng dẫn này, bạn sẽ học,

Đa xử lý là gì?

Đa xử lý cho phép bạn chạy đồng thời nhiều quy trình không liên quan. Các quy trình này không chia sẻ tài nguyên của chúng và giao tiếp thông qua IPC

Đa luồng Python vs Đa xử lý

Để hiểu các quy trình và luồng, hãy xem xét tình huống này. Một. exe trên máy tính của bạn là một chương trình. Khi bạn mở nó, hệ điều hành sẽ tải nó vào bộ nhớ và CPU sẽ thực thi nó. Thể hiện của chương trình hiện đang chạy được gọi là tiến trình

Mỗi quy trình sẽ có 2 thành phần cơ bản

  • Mật mã
  • Dữ liệu

Giờ đây, một quy trình có thể chứa một hoặc nhiều phần con được gọi là luồng. Điều này phụ thuộc vào kiến ​​trúc hệ điều hành,. Bạn có thể nghĩ về một luồng như một phần của quy trình có thể được thực thi riêng bởi hệ điều hành

Nói cách khác, đó là một luồng lệnh mà HĐH có thể chạy độc lập. Các luồng trong một quy trình chia sẻ dữ liệu của quy trình đó và được thiết kế để hoạt động cùng nhau nhằm tạo điều kiện thuận lợi cho xử lý song song

Tại sao nên sử dụng Đa luồng?

Đa luồng cho phép bạn chia nhỏ ứng dụng thành nhiều tác vụ phụ và chạy các tác vụ này đồng thời. Nếu bạn sử dụng đa luồng đúng cách, thì tốc độ, hiệu suất và kết xuất ứng dụng của bạn đều có thể được cải thiện

Đa luồng Python

Python hỗ trợ các cấu trúc cho cả đa xử lý cũng như đa luồng. Trong hướng dẫn này, bạn sẽ chủ yếu tập trung vào triển khai các ứng dụng đa luồng với python. Có hai mô-đun chính có thể được sử dụng để xử lý các luồng trong Python

  1. Mô-đun luồng và
  2. mô-đun luồng

Tuy nhiên, trong python, còn có một thứ gọi là khóa phiên dịch toàn cầu [GIL]. Nó không cho phép tăng hiệu suất nhiều và thậm chí có thể làm giảm hiệu suất của một số ứng dụng đa luồng. Bạn sẽ tìm hiểu tất cả về nó trong các phần sắp tới của hướng dẫn này

Các mô-đun Thread và Threading

Hai mô-đun mà bạn sẽ tìm hiểu trong hướng dẫn này là mô-đun luồng và mô-đun phân luồng

Tuy nhiên, mô-đun luồng từ lâu đã không được dùng nữa. Bắt đầu với Python 3, nó đã được chỉ định là lỗi thời và chỉ có thể truy cập dưới dạng __thread để tương thích ngược

Bạn nên sử dụng mô-đun luồng cấp cao hơn cho các ứng dụng mà bạn định triển khai. Mô-đun chủ đề chỉ được đề cập ở đây cho mục đích giáo dục

Mô-đun chủ đề

Cú pháp để tạo một chủ đề mới bằng mô-đun này như sau

thread.start_new_thread[function_name, arguments]

Được rồi, bây giờ bạn đã nắm được lý thuyết cơ bản để bắt đầu viết mã. Vì vậy, hãy mở IDLE hoặc notepad của bạn và nhập nội dung sau

import time
import _thread

def thread_test[name, wait]:
   i = 0
   while i 

Chủ Đề