ForEach song song có bất đồng bộ không?
ForEach song song có bất đồng bộ không?

Video: ForEach song song có bất đồng bộ không?

Video: ForEach song song có bất đồng bộ không?
Video: Javascript - Xử lý bất đồng bộ với Promise và async/await 2024, Tháng mười một
Anonim

Toàn bộ ý tưởng đằng sau Song song . Cho mỗi () là bạn có một tập hợp các luồng và mỗi luồng xử lý một phần của tập hợp. Như bạn đã nhận thấy, điều này không hoạt động với không đồng bộ - chờ đợi, nơi bạn muốn phát hành chuỗi trong khoảng thời gian không đồng bộ gọi. Cho mỗi (), hỗ trợ không đồng bộ Nhiệm vụ tốt.

Về điều này, làm thế nào để bạn chờ đợi foreach song song hoàn thành?

Bạn không cần phải làm bất cứ điều gì đặc biệt, Song song . Cho mỗi () sẽ đợi đã cho đến khi tất cả các nhiệm vụ phân nhánh của nó là hoàn thành . Từ luồng đang gọi, bạn có thể coi nó như một câu lệnh đồng bộ và ví dụ như bọc nó bên trong một try / catch. Bạn không cần điều đó với Song song.

Tương tự, foreach có bất đồng bộ không? Không phải vậy không đồng bộ . Nó đang chặn. Những người lần đầu tiên học một ngôn ngữ như Java, C hoặc Python trước khi họ thử JS sẽ cảm thấy bối rối khi họ cố gắng đặt một độ trễ tùy ý hoặc một lệnh gọi API trong nội dung vòng lặp của họ.

Bên cạnh đó, làm thế nào để bạn tiếp tục bước trước song song?

Khi bạn chuyển đổi vòng lặp của mình thành một định nghĩa tương thích cho Song song . Cho mỗi logic, bạn đã kết thúc việc tạo phần thân câu lệnh thành một lambda. Chà, đó là một hành động được gọi bởi Song song hàm số. Vì vậy, hãy thay thế tiếp tục với return, và ngắt với câu lệnh Stop () hoặc Break ().

Nhiệm vụ WhenAll có song song không?

Ứng dụng của Khi tất cả trả về một đơn nhiệm vụ điều đó không hoàn thành cho đến khi mọi nhiệm vụ trong bộ sưu tập được hoàn thành. Các nhiệm vụ dường như chạy trong song song , nhưng không có chủ đề bổ sung nào được tạo. Các nhiệm vụ có thể hoàn thành theo bất kỳ thứ tự nào.

Đề xuất: