Ho provato su google, non ho trovato risposta, cercato qui, non ho trovato risposta. Qualcuno ha esaminato se è thread-safe scrivere su un oggetto Serial() (pyserial) dal thread a ed effettua il blocco delle letture dal thread b?pyserial - è possibile scrivere sulla porta seriale dal thread a, bloccare le letture dal thread b?
So usare le primitive di sincronizzazione dei thread e le strutture di dati thread-safe, e in effetti la mia forma attuale di questo programma ha una thread dedicata alla lettura/scrittura sulla porta seriale e utilizzo strutture di dati thread-safe per coordinare attività nell'app.
La mia app sarebbe di grande utilità se potessi scrivere sulla porta seriale dal thread principale (e non leggerlo mai), e leggere dalla porta seriale usando il blocco delle letture nel secondo thread (e mai scrivere ad esso). Se qualcuno vuole davvero che io entri nel motivo per cui ciò avvantaggerebbe l'app, posso aggiungere le mie ragioni. Nella mia mente ci sarebbe solo un'istanza di Serial() e anche mentre il thread B si trova in una lettura di blocco sull'oggetto Serial, il thread A sarebbe sicuro di usare metodi di scrittura sull'oggetto Serial.
Qualcuno sa se la classe Serial può essere utilizzata in questo modo?
MODIFICA: Mi viene in mente che la risposta può dipendere dalla piattaforma. Se hai esperienza con una piattaforma come questa, sarebbe bene sapere su quale piattaforma stavi lavorando.
EDIT: C'è stata solo una risposta, ma se qualcun altro ha provato questo, si prega di lasciare una risposta con la vostra esperienza.
Stavi usando PySerial? E su quali piattaforme ha funzionato correttamente? –
Stavo usando PySerial su Windows, ma non riesco a immaginare perché non funzionerebbe su nessuna piattaforma. – TJD
Grazie per aver condiviso la tua esperienza! –