Tôi đã cố gắng googling này, không thể tìm thấy một câu trả lời, tìm kiếm ở đây, không thể tìm thấy một câu trả lời. Có ai nhìn vào cho dù đó là thread an toàn để viết vào một Serial() đối tượng (pyserial) từ thread a và làm chặn đọc từ thread b?pyserial - có thể ghi vào cổng nối tiếp từ chuỗi a, làm chặn đọc từ chủ đề b?
Tôi biết cách sử dụng nguyên gốc đồng bộ hóa chủ đề và cấu trúc dữ liệu an toàn luồng, và thực tế, hình thức hiện tại của chương trình này có chủ đề đọc/ghi trên cổng nối tiếp và tôi sử dụng cấu trúc dữ liệu chủ đề an toàn hoạt động trong ứng dụng.
Ứng dụng của tôi sẽ được hưởng lợi rất nhiều nếu tôi có thể ghi vào cổng nối tiếp từ chuỗi chính (và không bao giờ đọc từ đó) và đọc từ cổng nối tiếp bằng cách sử dụng tính năng chặn đọc trong chuỗi thứ hai (và không bao giờ ghi vào đó). Nếu ai đó thực sự muốn tôi đi vào lý do tại sao điều này sẽ có lợi cho các ứng dụng tôi có thể thêm lý do của tôi. Trong tâm trí của tôi sẽ có chỉ là một ví dụ của Serial() và ngay cả trong khi thread B ngồi trong một chặn đọc trên đối tượng Serial, thread A sẽ được an toàn để sử dụng phương pháp ghi trên đối tượng Serial.
Bất kỳ ai biết liệu lớp Serial có thể được sử dụng theo cách này không?
EDIT: Nó xảy ra với tôi rằng câu trả lời có thể phụ thuộc vào nền tảng. Nếu bạn có bất kỳ kinh nghiệm với một nền tảng như thế này, nó sẽ là tốt để biết bạn đang làm việc trên nền tảng nào.
CHỈNH SỬA: Chỉ có một câu trả lời nhưng nếu bất kỳ ai khác đã thử điều này, vui lòng để lại phản hồi với trải nghiệm của bạn.
Bạn có đang sử dụng PySerial không? Và trên nền tảng nào nó hoạt động thành công? –
Tôi đã sử dụng PySerial trên Windows, nhưng không thể tưởng tượng tại sao nó sẽ không hoạt động trên bất kỳ nền tảng nào. – TJD
Cảm ơn bạn đã chia sẻ trải nghiệm của mình! –