Articles of multithreading

NSOperation su iPhone

Ho cercato alcuni scenari concreti per quando NSOperation su iPhone è uno strumento ideale da utilizzare in un’applicazione. Per quanto ne so, questo è un wrapper in giro per scrivere il tuo codice threaded . Non ho visto nessuna applicazione demo Apple utilizzarla, e mi chiedo se mi stia perdendo un grande strumento invece di […]

Richiesta Web asincrona Objective-C con cookie

Sto scrivendo un programma in Objective-C e ho bisogno di fare richieste web al web server, ma in modo asincrono e sono abbastanza nuovo su mac, sono molto bravo con le tecnologie windows, ma ho bisogno di sapere che se uso NSOperation (introdotto in 10.5, presumo che non funzionerà in 10.4 MAC?), o se è […]

Code di invio: come sapere se sono in esecuzione e come fermarli

Sto solo giocando con GCD e ho scritto un’app giocattolo CoinFlipper. Ecco il metodo che capovolge le monete: – (void)flipCoins:(NSUInteger)nFlips{ // Create the queues for work dispatch_queue_t mainQueue = dispatch_get_main_queue(); dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, NULL); // Split the number of flips into whole chunks of kChunkSize and the remainder. NSUInteger numberOfWholeChunks = nFlips / kChunkSize; […]

Modo più semplice per richiamare eventi cross-thread

Trovo che il modello di eventi .NET sia tale che creerò spesso un evento su un thread e lo ascolterò su un altro thread. Mi stavo chiedendo quale sia il modo più pulito per eseguire il marshal di un evento da un thread in background sul thread dell’interfaccia utente. Sulla base dei suggerimenti della community, […]

Forzare più thread per utilizzare più CPU quando sono disponibili

Sto scrivendo un programma Java che utilizza molta CPU a causa della natura di ciò che fa. Tuttavia, molti di questi possono essere eseguiti in parallelo, e ho reso il mio programma multi-threaded. Quando lo eseguo, sembra che usi solo una CPU fino a quando non ha bisogno di più di quello che usa un’altra […]

Implementazioni di Java Queue, quale?

Da Javadoc: Un ConcurrentLinkedQueue è una scelta appropriata quando molti thread condivideranno l’accesso a una raccolta comune. Questa coda non consente elementi null. ArrayBlockingQueue è un classico “buffer limitato”, in cui un array di dimensioni fisse contiene elementi inseriti dai produttori ed estratti dai consumatori. Questa class supporta una politica di equità opzionale per ordinare […]

Concetto di Java Multithreading e metodo join ()

Sono confuso nel metodo join() usato in Threads in Java. Nel seguente codice: // Using join() to wait for threads to finish. class NewThread implements Runnable { String name; // name of thread Thread t; NewThread(String threadname) { name = threadname; t = new Thread(this, name); System.out.println(“New thread: ” + t); t.start(); // Start the […]

Utilizzare thread nella programmazione in vb6

Sto programmando per generare le chiavi in ​​esadecimale usando diverse funzioni casuali e scriverlo nel file di testo. Ho solo due pulsanti cmd e la barra di stato che mostra l’ora corrente e lo stato del processo. A questo punto, facendo clic sul pulsante cmd per la generazione di chiavi, il modulo viene bloccato e […]

ConfigureAwait invia la continuazione a un thread del pool

Ecco un codice WinForms: async void Form1_Load(object sender, EventArgs e) { // on the UI thread Debug.WriteLine(new { where = “before”, Thread.CurrentThread.ManagedThreadId, Thread.CurrentThread.IsThreadPoolThread }); var tcs = new TaskCompletionSource(); this.BeginInvoke(new MethodInvoker(() => tcs.SetResult(true))); await tcs.Task.ContinueWith(t => { // still on the UI thread Debug.WriteLine(new { where = “ContinueWith”, Thread.CurrentThread.ManagedThreadId, Thread.CurrentThread.IsThreadPoolThread }); }, TaskContinuationOptions.ExecuteSynchronously).ConfigureAwait(false); // on […]

Aggiornamento della GUI da un altro thread in java (swing)

Ho un programma principale, in cui la GUI si basa sullo swing e, a seconda di uno dei quattro stati, gli elementi della GUI hanno parametri diversi. public class Frame extends JFrame implements Runnable { Status status = 1; … @Override public void run() { switch (status) { case 1: … case 2: … } […]