Articles of multithreading

Come posso ottenere il multithreading di bulletphysics / bulletsharps?

Vale a dire, qual è l’insieme minimo di codice che ho bisogno di configurare i “BulletSharp.MultiThreaded.ParallelConstraintSolver” del Bullet engine engine BulletSharp “DynamicsWorld”? In alternativa, potrei probabilmente elaborarlo dallo stesso set di codice per il motore BulletPhysics stesso. Se non ho formulato la domanda giusta, apprezzerei il chiarimento; Ho iniziato a usarlo solo oggi. (Sì, ho […]

Coda dei byte asincroni thread-safe

Ho un metodo di callback che viene chiamato ogni volta che sono disponibili nuovi dati: public delegate void DataCallback( byte[] buffer, int offset, int count); Voglio concludere questo in una class che implementa un’interfaccia simile a questa: public interface IDataSource { IAsyncResult BeginRead( byte[] buffer, int offset, int size, TimeSpan timeout, AsyncCallback callback, object state); […]

C # 4.0 – Thread su un intervallo

Sto usando C # 4.0. Ho un blocco di codice che vorrei eseguire ogni 2-3 minuti. Qual è il modo corretto per farlo con le funzionalità di threading 4.0 disponibili?

passare al thread di dispatcher in WPF

Questo è il seguito di questa domanda . Devo aggiornare ObservableCollection da una discussione diversa. L’ho provato con il seguente codice: Thread t = new Thread( ()=> { while(true) { if (ErrorDetection.ErrorDetectionIO.doErrorDetection() == 1) { dataLine = ErrorDetection.ErrorDetectionIO.getDataLine(); if (mainWindow != null) { ISynchronizeInvoke target = mainWindow; // mainWindow needs to be an WindowsForm? target.Invoke( […]

c # esegue 2 thread simultaneamente

Sto cercando di riprodurre una condizione di errore di thread all’interno di un gestore HTTP. Fondamentalmente, il procecss di lavoro ASP.net sta creando 2 thread che invocano simultaneamente il gestore HTTP nella mia applicazione quando viene caricata una determinata pagina. All’interno del gestore HTTP, è una risorsa che non è thread-safe. Quindi, quando i 2 […]

Nessun SynchronizationContext quando si chiama Await in un altro AppDomain

Ho creato con successo un meccanismo di plug-in in cui posso creare controlli dell’interfaccia utente in un AppDomain separato e visualizzarli come parte di un modulo nell’AppDomain principale. Questi controlli dell’interfaccia utente eseguono il caricamento dei propri dati, quindi quando apro un modulo vengono creati 10 diversi plugin e ognuno deve caricare i suoi dati. […]

Risultati imprevisti durante il multithreading

Ho una funzione che deve essere chiamata da un thread avviato con un parametro start e end. La funzione funziona bene quando viene eseguita su thread singolo, principale. Tuttavia, quando provo il multi-threading, il codice si rompe. La funzione è come qui sotto: static void processThread(long startLimit, long endLimit) { long rangeLimit = startLimit; while […]

Pub / Sotto architettura

Provo a scrivere un pub / sottosistema (lato client e server), dove il client riceve aggiornamenti regolari (come heartbeat, controllo dei messaggi) e può impartire comandi al server (iscriversi ad una fonte, ….). Quale sarebbe un buon modo per farlo? Ho già un server che implementa un threadpool per gestire la connessione client in entrata. […]

metodo corretto di threading

Sono molto nuovo a WPF. E appena iniziato a imparare il threading. Ecco il mio scenario: ho creato un programma con un pulsante chiamato START. Quando si fa clic sul pulsante di avvio, inizia a svolgere alcune attività complesse in thread diversi. Poco prima di iniziare l’attività complessa crea anche degli elementi dell’interfaccia utente in […]

C # annulla un’attività a lunga esecuzione che non è un ciclo

Sono nuovo al compito di c #, quello che voglio fare è convertire downloadThread = new Thread(DownLoadFile); downloadThread.Start(); come compito var t = Task.Factory.StartNew (DownLoadFile); Sapevo anche usare CancellationTokenSource per cancellare. Ma gli esempi che ho visto sono tutti thread a ciclo lungo, come for, foreach, while e check IsCancellationRequested per cancellare un’attività in loop. […]