Bạn có thể chạy một chức năng trong một luồng mới thông qua đối số Target Target trên lớp.target” argument on the threading.Thread class.
Trong hướng dẫn này, bạn sẽ khám phá cách chạy một chức năng trong một luồng mới.
Bắt đầu nào.
- Cần chạy một chức năng trong một luồng mới
- Cách chạy chức năng trong một luồng
- Ví dụ về việc chạy một hàm trong một luồng
- Ví dụ về việc chạy một hàm trong một luồng với các đối số
- Đọc thêm
- Takeaways
Một chủ đề là một chủ đề thực thi trong một chương trình máy tính.
Mỗi chương trình Python có ít nhất một luồng thực thi được gọi là luồng chính. Cả hai quy trình và luồng được tạo và quản lý bởi hệ điều hành cơ bản.
Đôi khi chúng ta có thể cần tạo các luồng bổ sung trong chương trình của chúng tôi để thực thi mã đồng thời.
Python cung cấp khả năng tạo và quản lý các luồng mới thông qua lớp luồng.threading.Thread class.
Một cách để chạy một hàm trong một luồng mới là thông qua một đối số trên lớp luồng.threading.Thread class.
Làm thế nào chúng ta có thể chạy một hàm trong một luồng mới bằng lớp luồng.threading.Thread class?
Cách chạy chức năng trong một luồng
Ví dụ về việc chạy một hàm trong một luồng
- Ví dụ về việc chạy một hàm trong một luồng với các đối sốthreading.Thread class.
- Đọc thêmtarget” argument.
- Takeawaysstart[] function.
Một chủ đề là một chủ đề thực thi trong một chương trình máy tính.threading.Thread class and specify the function we wish to execute in a new thread via the “target” argument.
Mỗi chương trình Python có ít nhất một luồng thực thi được gọi là luồng chính. Cả hai quy trình và luồng được tạo và quản lý bởi hệ điều hành cơ bản... Đôi khi chúng ta có thể cần tạo các luồng bổ sung trong chương trình của chúng tôi để thực thi mã đồng thời. thread=Thread[target=task]=Thread[target=task] |
Python cung cấp khả năng tạo và quản lý các luồng mới thông qua lớp luồng.args” argument of the threading.Thread class constructor or as a dictionary to the “kwargs” argument.
Mỗi chương trình Python có ít nhất một luồng thực thi được gọi là luồng chính. Cả hai quy trình và luồng được tạo và quản lý bởi hệ điều hành cơ bản... Đôi khi chúng ta có thể cần tạo các luồng bổ sung trong chương trình của chúng tôi để thực thi mã đồng thời. thread=Thread[target=task,args=[arg1,arg2]]=Thread[target=task,args=[arg1,arg2]] |
Python cung cấp khả năng tạo và quản lý các luồng mới thông qua lớp luồng.start[] function.
Một cách để chạy một hàm trong một luồng mới là thông qua một đối số trên lớp luồng.start[] function will return immediately and the operating system will execute the function in a separate thread as soon as it is able.
Mỗi chương trình Python có ít nhất một luồng thực thi được gọi là luồng chính. Cả hai quy trình và luồng được tạo và quản lý bởi hệ điều hành cơ bản... Đôi khi chúng ta có thể cần tạo các luồng bổ sung trong chương trình của chúng tôi để thực thi mã đồng thời. thread.start[].start[] |
Python cung cấp khả năng tạo và quản lý các luồng mới thông qua lớp luồng.
Một cách để chạy một hàm trong một luồng mới là thông qua một đối số trên lớp luồng.
Làm thế nào chúng ta có thể chạy một hàm trong một luồng mới bằng lớp luồng.
Để chạy một hàm trong một luồng khác:
Download my FREE
PDF cheat sheet
Ví dụ về việc chạy một hàm trong một luồng
Ví dụ về việc chạy một hàm trong một luồng với các đối số
Đọc thêm
Takeawaystask“.
Một chủ đề là một chủ đề thực thi trong một chương trình máy tính. Mỗi chương trình Python có ít nhất một luồng thực thi được gọi là luồng chính. Cả hai quy trình và luồng được tạo và quản lý bởi hệ điều hành cơ bản.task[]: Đôi khi chúng ta có thể cần tạo các luồng bổ sung trong chương trình của chúng tôi để thực thi mã đồng thời.# block for a moment sleep[1]sleep[1] Python cung cấp khả năng tạo và quản lý các luồng mới thông qua lớp luồng.# display a message Một cách để chạy một hàm trong một luồng mới là thông qua một đối số trên lớp luồng.print['This is from another thread'] |
Làm thế nào chúng ta có thể chạy một hàm trong một luồng mới bằng lớp luồng.threading.Thread class and specify our function name as the “target” argument in the constructor.
Mỗi chương trình Python có ít nhất một luồng thực thi được gọi là luồng chính. Cả hai quy trình và luồng được tạo và quản lý bởi hệ điều hành cơ bản... Đôi khi chúng ta có thể cần tạo các luồng bổ sung trong chương trình của chúng tôi để thực thi mã đồng thời. thread=Thread[target=task]=Thread[target=task] |
Python cung cấp khả năng tạo và quản lý các luồng mới thông qua lớp luồng.
Mỗi chương trình Python có ít nhất một luồng thực thi được gọi là luồng chính. Cả hai quy trình và luồng được tạo và quản lý bởi hệ điều hành cơ bản... Đôi khi chúng ta có thể cần tạo các luồng bổ sung trong chương trình của chúng tôi để thực thi mã đồng thời. thread.start[].start[] |
Python cung cấp khả năng tạo và quản lý các luồng mới thông qua lớp luồng.start[] function does not block, meaning it returns immediately.
Một cách để chạy một hàm trong một luồng mới là thông qua một đối số trên lớp luồng.join[] function. This is not needed as the main thread will not exit until the new thread has completed but does make things clearer.
Mỗi chương trình Python có ít nhất một luồng thực thi được gọi là luồng chính. Cả hai quy trình và luồng được tạo và quản lý bởi hệ điều hành cơ bản... Đôi khi chúng ta có thể cần tạo các luồng bổ sung trong chương trình của chúng tôi để thực thi mã đồng thời. Python cung cấp khả năng tạo và quản lý các luồng mới thông qua lớp luồng.['Waiting for the thread...'] thread.join[].join[] |
Một cách để chạy một hàm trong một luồng mới là thông qua một đối số trên lớp luồng.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | Làm thế nào chúng ta có thể chạy một hàm trong một luồng mới bằng lớp luồng. Để chạy một hàm trong một luồng khác: Tạo một thể hiện của lớp luồng.time import sleep Chỉ định tên của hàm thông qua đối số của mục tiêu.threading import Thread Một chủ đề là một chủ đề thực thi trong một chương trình máy tính. Mỗi chương trình Python có ít nhất một luồng thực thi được gọi là luồng chính. Cả hai quy trình và luồng được tạo và quản lý bởi hệ điều hành cơ bản.task[]: Đôi khi chúng ta có thể cần tạo các luồng bổ sung trong chương trình của chúng tôi để thực thi mã đồng thời.# block for a moment sleep[1]sleep[1] Python cung cấp khả năng tạo và quản lý các luồng mới thông qua lớp luồng.# display a message Một cách để chạy một hàm trong một luồng mới là thông qua một đối số trên lớp luồng.print['This is from another thread'] Đôi khi chúng ta có thể cần tạo các luồng bổ sung trong chương trình của chúng tôi để thực thi mã đồng thời. thread=Thread[target=task]= Thread[target=task] Đôi khi chúng ta có thể cần tạo các luồng bổ sung trong chương trình của chúng tôi để thực thi mã đồng thời. thread.start[].start[] Đôi khi chúng ta có thể cần tạo các luồng bổ sung trong chương trình của chúng tôi để thực thi mã đồng thời. Python cung cấp khả năng tạo và quản lý các luồng mới thông qua lớp luồng.['Waiting for the thread...'] thread.join[].join[] |
Một cách để chạy một hàm trong một luồng mới là thông qua một đối số trên lớp luồng.threading.Thread then calls the start[] function. This does not start the thread immediately, but instead allows the operating system to schedule the function to execute as soon as possible.
Làm thế nào chúng ta có thể chạy một hàm trong một luồng mới bằng lớp luồng.
Khi hàm tùy chỉnh trở lại, luồng được đóng. Hàm nối [] sau đó trả về và luồng chính thoát.join[] function then returns and the main thread exits.
Đang chờ chủ đề ... Đây là từ một chủ đề khác |
Khóa học luồng python miễn phí
Tải xuống bảng cheat API luồng của tôi và như một phần thưởng, bạn sẽ có quyền truy cập miễn phí vào khóa học email 7 ngày của tôi.
Khám phá cách sử dụng mô -đun luồng Python bao gồm cách tạo và khởi động các luồng mới và cách sử dụng khóa và semaphores mutex
Tìm hiểu thêm & NBSP;
Ví dụ về việc chạy một hàm trong một luồng với các đối số
Chúng ta có thể thực thi các chức năng trong một chủ đề khác có đối số.
Điều này có thể được chứng minh bằng cách cập nhật hàm tác vụ [] đầu tiên của chúng tôi từ phần trước để lấy hai đối số, một trong thời gian trong vài giây để chặn và thứ hai để một thông báo hiển thị.task[] function from the previous section to take two arguments, one for the time in seconds to block and the second for a message to display.
# một chức năng tùy chỉnh chặn trong giây lát nhiệm vụ def [sleep_time, tin nhắn]:task[sleep_time,message]: & nbsp; & nbsp; & nbsp; & nbsp;# block trong giây lát# block for a moment sleep[sleep_time]sleep[sleep_time] & nbsp; & nbsp; & nbsp; & nbsp;# hiển thị một thông báo# display a message print[message]print[message] |
Tiếp theo, chúng ta có thể cập nhật lệnh gọi đến Trình xây dựng luồng. Để chỉ định hai đối số theo thứ tự mà hàm của chúng ta [] hàm của chúng ta mong đợi chúng như một tuple thông qua đối số của Arg Args.threading.Thread constructor to specify the two arguments in the order that our task[] function expects them as a tuple via the “args” argument.
..... # Tạo một chủ đề Chủ đề = Chủ đề [Target = Task, Args = [1.5, 'Thông báo mới từ một luồng khác']]=Thread[target=task,args=[1.5,'New message from another thread']] |
Kết hợp điều này lại với nhau, ví dụ hoàn chỉnh về việc thực thi một hàm tùy chỉnh lấy các đối số trong một luồng riêng biệt được liệt kê bên dưới.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # SuperfastPython.com # Ví dụ về việc chạy một hàm với các đối số trong một luồng khác từ thời gian nhập vào giấc ngủtime import sleep từ luồng nhập luồngthreading import Thread # một chức năng tùy chỉnh chặn trong giây lát nhiệm vụ def [sleep_time, tin nhắn]:task[sleep_time, message]: & nbsp; & nbsp; & nbsp; & nbsp;# block trong giây lát# block for a moment sleep[sleep_time]sleep[sleep_time] & nbsp; & nbsp; & nbsp; & nbsp;# hiển thị một thông báo# display a message print[message]print[message] # Tạo một chủ đề Chủ đề = Chủ đề [Target = Task, Args = [1.5, 'Thông báo mới từ một luồng khác']] =Thread[target=task,args=[1.5,'New message from another thread']] Kết hợp điều này lại với nhau, ví dụ hoàn chỉnh về việc thực thi một hàm tùy chỉnh lấy các đối số trong một luồng riêng biệt được liệt kê bên dưới. thread.start[].start[] # SuperfastPython.com # Ví dụ về việc chạy một hàm với các đối số trong một luồng khác['Waiting for the thread...'] thread.join[].join[] |
từ thời gian nhập vào giấc ngủ
từ luồng nhập luồng
Đang chờ chủ đề ... # Chạy chuỗi |
# Đợi cho chủ đề kết thúc
in ['Đang chờ chuỗi ...']
Chạy ví dụ tạo ra luồng chỉ định tên hàm và các đối số cho hàm.
- Chủ đề được bắt đầu và các khối hàm cho số giây được tham số hóa và in thông báo được tham số hóa.
Tin nhắn mới từ một chủ đề khác
- Đọc thêm
Phần này cung cấp các tài nguyên bổ sung mà bạn có thể thấy hữu ích.
- API
- Chủ đề - song song dựa trên luồng
- Hướng dẫnmy book!].
Python Threading: Hướng dẫn hoàn chỉnh
- Sách
- Bảng xác định API mô -đun chủ đề
- Chủ đề câu hỏi phỏng vấn API
- Python Threading Jump-Start, Jason Brownlee, 2022 [Sách của tôi!]. & NBSP;
- Tôi cũng đề xuất các chương cụ thể trong các cuốn sách sau:
- Cookbook Python, David Beazley và Brian Jones, 2013.
Xem: Chương 12: Đồng thời
Python hiệu quả, Brett Slatkin, 2019.target” argument on the threading.Thread class.
Xem: Chương 7: Đồng thời và song song
Ask your questions in the comments below and I will do my best to answer.
Python trong A Nutshell, Alex Martelli, et al., 2017.