Tôi đã có một chuỗi đang bỏ phiếu cho một phần cứng.Làm thế nào để một luồng.Thread mang lại phần còn lại của lượng tử trong Python?
while not hardware_is_ready():
pass
process_data_from_hardware()
Nhưng còn có các chủ đề khác (và quy trình!) Có thể có những việc cần làm. Nếu vậy, tôi không muốn đốt cháy cpu kiểm tra phần cứng mọi hướng dẫn khác. Nó đã được một thời gian kể từ khi tôi đã xử lý với luồng, và khi tôi đã làm nó không Python, nhưng tôi tin rằng hầu hết các thư viện luồng có một chức năng yield
hoặc một cái gì đó cho phép một thread để nói với lịch trình "Cung cấp cho các chủ đề khác một cơ hội. "
while not hardware_is_ready():
threading.yield() # This function doesn't exist.
process_data_from_hardware()
Nhưng tôi không thể tìm thấy bất kỳ tham chiếu nào giống như thế này trong tài liệu luồng. Python có một tuyên bố yield
, nhưng tôi khá chắc chắn đó là một cái gì đó hoàn toàn khác (để làm với máy phát điện).
Điều chính xác cần làm ở đây là gì?
Tài liệu này có ở đâu đó không? Tôi nghĩ điều này có thể đúng - tôi đã nhìn thấy nó bằng các ngôn ngữ khác - nhưng tôi không thể tìm thấy một đề cập đến nó trong tài liệu Python. Ví dụ: –
, http://docs.python.org/library/sched.html "delayfunc cũng sẽ được gọi với đối số 0 sau mỗi sự kiện được chạy để cho phép các chủ đề khác có cơ hội chạy trong các ứng dụng đa luồng." (delayfunc thường là time.sleep ở đây). Tôi đồng ý nó sẽ đẹp hơn nếu nó được ghi lại trực tiếp hơn trong thời gian của mô-đun ;-) –
Cũng bị ẩn! Cảm ơn! –