You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: src/content/language/concurrency.md
+24-8
Original file line number
Diff line number
Diff line change
@@ -398,14 +398,6 @@ isolate, it will remain untouched in the main isolate. This is how isolates are
398
398
meant to function, and it's important to keep in mind when you’re considering
399
399
using isolates.
400
400
401
-
#### Synchronous blocking communication between isolates
402
-
403
-
There is a limit to the number of isolates running in parallel:
404
-
405
-
- The limit is not hardcoded to a particular number, it is calculated based on the Dart VM heap size available to the Dart application, can be considered to be between 8 and 32 depending on the platform.
406
-
- This limit doesn't affect asynchronous communction between isolates via messages - you can have hundreds of isolates running and making progress. The isolates are scheduled on the CPU in round-robin fashion and yield to each other often.
407
-
- Attempts to do *synchronous* communication between isolates over the limit though may result in a deadlock unless special care is taken (the C code that does synchronous communication would need to leave the current isolate before it blocks and re-enter it before returning to dart, see [`Dart_EnterIsolate`]({{site.repo.dart.sdk}}/blob/c9a8bbd8d6024e419b5e5f26b5131285eb19cc93/runtime/include/dart_api.h#L1254) and [`Dart_ExitIsolate`]({{site.repo.dart.sdk}}/blob/c9a8bbd8d6024e419b5e5f26b5131285eb19cc93/runtime/include/dart_api.h#L1455).
408
-
409
401
#### Message types
410
402
411
403
Messages sent via [`SendPort`][]
@@ -436,6 +428,30 @@ objects, so they're subject to the same limitations.
0 commit comments