PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

PLINQ trên ConcurrentQueue không phải là đa luồng

Bạn chỉ đang song song hóa việc liệt kê assertQueue chính nó và sau đó "vô song" nó trở lại thành một IEnumerable bình thường . Tất cả điều này xảy ra trước foreach vòng lặp thậm chí bắt đầu. Sau đó, bạn sử dụng IEnumerable thông thường với foreach chạy phần thân của vòng lặp nối tiếp nhau.

Có nhiều cách để chạy song song phần nội dung của vòng lặp nhưng cách đầu tiên bạn nghĩ đến là sử dụng Parallel.ForEach :

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. java.math.BigInteger không thể được truyền sang java.lang.Integer

  2. Cách tham gia các bảng trên regex

  3. Thực hiện cập nhật lớn bằng nhiều bảng trong PostgreSQL

  4. Postgres:Riêng biệt nhưng chỉ dành cho một cột

  5. Không thể truy cập bảng mà không có tên public.table. Có cách nào để loại bỏ công khai không?