cuốn sách gpt4 ai đã làm

Python: Khi nào một luồng kết thúc? Rõ ràng là không trở lại (ngay lập tức)

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 00:36:06 28 4
mua khóa gpt4 Nike

Tôi đang sử dụng một threading.Thread() làm công việc của nó và trở về . Sự trở lại của nó được ghi lại trong câu lệnh in, vì vậy đôi khi tôi chắc chắn rằng đó là trường hợp. Tuy nhiên, dựa vào threading.active_count()threading.enumerate() Chủ đề vẫn hoạt động!

ngoại trừ từChủ đề chínhNgoài việc tham gia chuỗi, còn điều gì khác có thể được thực hiện từ bên trong chuỗi mà có thể được chấm dứt một cách an toàn không?

câu trả lời hay nhất

luồng Mô-đun duy trì một danh sách các chủ đề đã được bắt đầu nhưng chưa được tham gia. Nó gọi đó là danh sách "Sự kiện", nhưng thực ra nó là danh sách "Chưa tham gia". Khi chương trình kết thúc, mô-đun luồng sẽ nối bất cứ thứ gì còn lại trong danh sách. Điều này cho phép bạn trì hoãn việc thoát và chương trình sẽ vẫn chạy cho đến khi tất cả các luồng công việc của nó kết thúc.

Bạn có thể bỏ qua danh sách sự kiện bằng cách biến chủ đề thành "daemon". Trong trường hợp này, nó sẽ không xuất hiện trong danh sách sự kiện hoặc trong số lượng sự kiện.

thread = threading.thread(target=somefunction)
thread.daemon = True
thread.start()

Nếu bạn tạo lớp con luồng của riêng mình, bạn có thể quản lý cờ deamon. Nó thậm chí có thể tự khởi động để đơn giản hóa mọi thứ cho người gọi.

lớp MyWorker(threading.Thread):

def __init__(self):
siêu().__init__()
self.daemon = Đúng
tự.start()

chắc chắn chạy (tự):
print("làm việc của bạn ở đây")

#ví dụ
MyWorker()

Python: Khi nào một luồng kết thúc? Rõ ràng là nó sẽ không được trả lại (ngay lập tức), chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/43983882/

28 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress