Spero che non sia una domanda così generica da essere considerata una "discussione". Sto scrivendo una simulazione di un vecchio computer (circa 1960) e sto pensando a come accodare gli eventi dalla GUI al "modello" della CPU. La GUI è composta da pulsanti momentanei (pulsanti e tasti della macchina da scrivere) e interruttori a levetta. Ovviamente, non voglio che la GUI o il thread della CPU si blocchino.
Mentre penso ai vari tipi di eventi, mi rendo conto che (a) alcuni non dovrebbero essere replicati in coda, (b) alcuni dovrebbero essere "accelerati" "- cioè, inviato al capo della coda, e (c) alcuni dovrebbero semplicemente essere ignorati in determinate condizioni.
Poi ho capito che probabilmente sto cercando di risolvere un vecchio problema. Indubbiamente, altri hanno riscontrato requisiti simili durante il tentativo di progettare una coda di eventi da GUI a modello. Quindi mi sono chiesto: alcune persone brillanti hanno astratto i requisiti di un qualsiasi sistema di passaggio degli eventi da GUI a modello, forse anticipando alcune funzionalità a cui non avevo ancora pensato?
Sto codificando in Java, ma implementerei la coda e la coda, io stesso - e inoltre dubito che ci sia qualcosa di specifico per Java a questo problema.