Articles of elaborazione parallela

Suddividere in sequenza il carico su un ciclo Parallel.Foreach

Ho un milione di elementi in un elenco da elaborare. Lasciandoli crudemente in un parallelogramma. ForEgherebbe solo a saturare la CPU. Invece ho diviso le liste degli elementi principali in pezzi e ho fatto cadere i sottoliste in un ciclo parallelo. List MasterList = new List(); Populate(MasterList); // puts a Million elements into list; //Split […]

Errore di lettura o scrittura protetta della memoria “tentativo di leggere i database AutoCad in parallelo

Ricevo “Tentativo di lettura o scrittura di memoria protetta” quando provo a eseguire alcune operazioni parallele. Sto leggendo i database AutoCad nella memoria per fare un po ‘di data mining. Posso farlo con un ciclo for normale ma non con Parallel.ForEach . Qualche idea? Parallel.ForEach(_Files, (currentFile) => { var _File = currentFile; using (Database _Database […]

Le espressioni lambda sono multi-threaded?

Le espressioni lambda sono multi-threaded? Di ‘quando scrivi una formula matematica come metodo lambda, quando la passi ad un altro metodo, sarebbe multi-thread?

Collezioni simultanee ed elementi unici

Ho un BlockingCollection concorrente con elementi ripetuti. Come può modificarlo per aggiungere o ottenere elementi distinti?

Impostazione dei nuclei da utilizzare in parallelismo

Ho la sensazione che la risposta a questo è no, ma usando Parallelismo di .Net 4.0, puoi impostare la quantità di core su cui eseguire, ad esempio se esegui un Quad Core, puoi impostare la tua Applicazione per usarne solo 2 ? Grazie

File.Copy in Parallel.ForEach

Sto cercando di creare una directory e copiare un file (pdf) all’interno di Parallel.ForEach . Di seguito è riportato un semplice esempio: private static void CreateFolderAndCopyFile(int index) { const string sourcePdfPath = “c:\\testdata\\test.pdf”; const string rootPath = “c:\\testdata”; string folderDirName = string.Format(“Data{0}”, string.Format(“{0:00000000}”, index)); string folderDirPath = rootPath + @”\” + folderDirName; Directory.CreateDirectory(folderDirPath); string desPdfPath […]

Casuale genera il numero 1 più del 90% delle volte in parallelo

Considera il seguente programma: public class Program { private static Random _rnd = new Random(); private static readonly int ITERATIONS = 5000000; private static readonly int RANDOM_MAX = 101; public static void Main(string[] args) { ConcurrentDictionary dic = new ConcurrentDictionary(); Parallel.For(0, ITERATIONS, _ => dic.AddOrUpdate(_rnd.Next(1, RANDOM_MAX), 1, (k, v) => v + 1)); foreach(var kv […]

Ancora un altro C # Deadlock Debugging Question

Ho creato un’applicazione multithread in C # usando VS2010 Professional. È un’applicazione abbastanza grande e abbiamo già riscontrato problemi di cross-threading e deadlock nella GUI, ma nel mese scorso abbiamo notato che sembra bloccarsi quando viene lasciato inattivo per circa 20-30 minuti. L’applicazione è irresponsabile e sebbene si ridisegnerà da sola quando altre windows vengono […]

Passando le proprietà come parametri

Voglio creare un metodo di supporto generalizzato per il caricamento e la convalida di LoadFromXML. Se l’XML da cui sto caricando è incompleto, voglio che fallisca completamente senza generare un’eccezione. Attualmente, il mio codice appare come questo (più o meno) public override bool Load(XElement source) { return new List<Func> { i => this.LoadHelper(i.Element(User.XML_Username), ref this._username, […]

HttpContext è nullo in un metodo chiamato all’interno di Parallel.For

Pubblicazione di questa domanda dopo aver provato molto. Fare la normale non è un’opzione perché dobbiamo eseguire una grande quantità di elaborazione in molto meno tempo. Ho GetDataFor() all’interno del quale viene utilizzato HttpContext.Current . Il codice si presenta così: public void SomeMethod() { var context = HttpContext.Current; Parallel.For(0, 100, i => { var data […]