Hướng dẫn python create thread to run function - python tạo luồng để chạy chức năng

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

  1. 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.
  2. Đọc thêmtarget” argument.
  3. 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.

Bạn có thể tạo chủ đề trong Python không?

Vì vậy, luồng là một cách mà chúng ta có thể thực thi nhiều đoạn mã cùng một lúc. Có hai cách tạo ra các chủ đề trong Python và đó là; sử dụng một lớp hoặc sử dụng một chức năng.using a class or using a function.

Thư viện Python nào chạy một chức năng như chủ đề?

Xây xếp trong Python rất đơn giản.Nó cho phép bạn quản lý các chủ đề đồng thời thực hiện công việc cùng một lúc.Thư viện được gọi là chủ đề của Google, bạn tạo các đối tượng của chủ đề và chúng chạy các chức năng mục tiêu cho bạn. in Python is simple. It allows you to manage concurrent threads doing work at the same time. The library is called “threading“, you create “Thread” objects, and they run target functions for you.

Làm thế nào một chủ đề có thể được tạo trong ví dụ Python đưa ra?

Chủ đề trong Python là một thực thể trong một quy trình có thể được lên lịch để thực hiện ...
Chúng tôi đã tạo một lớp con của lớp chủ đề ..
Sau đó, chúng tôi ghi đè hàm __init__ của lớp luồng ..
Sau đó, chúng tôi ghi đè phương thức chạy để xác định hành vi của luồng ..
Phương thức start () bắt đầu một luồng python ..

Python có thể được đa luồng không?

Python không hỗ trợ đa luồng vì Python trên trình thông dịch Cpython không hỗ trợ thực thi đa lõi thực sự thông qua đa luồng.Tuy nhiên, Python có một thư viện luồng.Gil không ngăn chặn luồng. because Python on the Cpython interpreter does not support true multi-core execution via multithreading. However, Python does have a threading library. The GIL does not prevent threading.