sql >> Database >  >> RDS >> PostgreSQL

PLINQ op ConcurrentQueue is niet multithreading

U parallelliseert alleen de opsomming van de assertQueue zichzelf en vervolgens "ongeëvenaard" het terug in een gewoon IEnumerable . Dit gebeurt allemaal vóór de foreach lus begint zelfs. Dan gebruik je de gewone IEnumerable met de foreach die de body van de lus serieel uitvoert.

Er zijn veel manieren om de body van de lus parallel te laten lopen, maar de eerste die in je opkomt is het gebruik van Parallel.ForEach :

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


  1. Hoe kopieer ik gegevens van de ene tabel naar de andere in postgres met behulp van de kopieeropdracht

  2. Onderstrepingstekens of camelCase in PostgreSQL-ID's, wanneer de programmeertaal camelCase gebruikt?

  3. PHP PDO MySQL schuifbare cursor werkt niet

  4. Hoe trigger en procedure in orakel uit te voeren?