sql >> Database teknologi >  >> RDS >> PostgreSQL

PLINQ på ConcurrentQueue er ikke multithreading

Du paralleliserer kun opregningen af ​​assertQueue sig selv og derefter "unparallelisere" det tilbage til en almindelig IEnumerable . Alt dette sker før foreach sløjfe starter endda. Så bruger du den almindelige IEnumerable med foreach som kører løkkens krop serielt.

Der er mange måder at køre løkken på parallelt, men den første man tænker på er at bruge Parallel.ForEach :

Parallel.ForEach(arrestQueue, arrest =>
    {
        Geocoder geocodeThis = new Geocoder(arrest);
        writeQueue.Enqueue(geocodeThis.Geocode());
        Console.Out.WriteLine("Enqueued " + ++k);
    });


  1. Hvordan opdeles intervallet mellem to datoer i detaljer efter måned?

  2. Hvordan gemmer man en PDF-fil i MySQL-databasen?

  3. postgresql - forespørgsel til at opbygge json

  4. Beskæftiger du dig med indlejrede sæt i mysql?