Articles of multithreading

Si tratta di un pool di thread di lavoro idiomatico in Go?

Sto tentando di scrivere un semplice pool di lavoratori con goroutine. Il codice che ho scritto è idiomatico? Se no, allora cosa dovrebbe cambiare? Voglio essere in grado di impostare il numero massimo di thread di lavoro su 5 e bloccare fino a quando un lavoratore diventa disponibile se tutti e 5 sono occupati. Come […]

Quali operazioni sono atomiche in C #?

Esiste un modo sistematico per sapere se un’operazione in C # sarà atomica o no? O ci sono delle linee guida generali o regole generali?

Java: come scalare i thread in base ai core della CPU?

Non sono un buon programmatore java, è solo il mio hobby, ma sono desideroso di sapere più della roba media. Voglio risolvere un problema matematico con più thread in java. il mio problema matematico può essere separato in unità di lavoro, che voglio risolvere in più thread. ma non voglio avere una quantità fissa di […]

Perché dovrebbe aspettare () essere sempre chiamato all’interno di un ciclo

Ho letto che dovremmo sempre chiamare wait() da un loop: while (!condition) { obj.wait(); } Funziona senza loop, quindi perché?

Perché richiamare Thread.currentThread.interrupt () in un blocco InterruptException catch?

Perché invocare il metodo Thread.currentThread.interrupt () nel blocco catch?

Come posso propagare le eccezioni tra i thread?

Abbiamo una funzione in cui un singolo thread chiama (noi chiamiamo questo il thread principale). All’interno del corpo della funzione vengono generati più thread di lavoro per eseguire un lavoro intensivo della CPU, attendere il completamento di tutti i thread, quindi restituire il risultato sul thread principale. Il risultato è che il chiamante può usare […]

Come posso rendere il mio ArrayList thread-safe? Un altro approccio al problema in Java?

Ho una ArrayList che voglio usare per tenere oggetti RaceCar che estendono la class Thread non appena terminati di essere eseguiti. Una class, chiamata Race, gestisce questo ArrayList usando un metodo di callback che l’object RaceCar chiama quando termina l’esecuzione. Il metodo di callback, addFinisher (finisher RaceCar), aggiunge l’object RaceCar a ArrayList. Questo dovrebbe dare […]

Scrivere su un TextBox da un altro thread?

Non riesco a capire come creare una applicazione Windows Form C # in una casella di testo da una discussione. Ad esempio in Program.cs abbiamo lo standard standard () che disegna il modulo: static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } Quindi abbiamo in Form1.cs: public Form1() { InitializeComponent(); new Thread(SampleFunction).Start(); } public static […]

Versione C # della parola chiave sincronizzata di java?

C # ha la sua versione della parola chiave “sincronizzata” java? Cioè in java può essere specificato o per una funzione, un object o un blocco di codice, in questo modo: public synchronized void doImportantStuff() { // dangerous code goes here. } o public void doImportantStuff() { // trivial stuff synchronized(someLock) { // dangerous code […]

La differenza tra le interfacce Runnable e Callable in Java

Qual è la differenza tra l’uso delle interfacce Runnable e Callable quando si progetta un thread concorrente in Java, perché scegliere l’una rispetto all’altra?