
Dart took a different approach to this problem. Threads in Dart, called isolates, do not share memory, which avoids the need for most locks. Isolates communicate by passing messages over channels, which is similar to actors in Erlang or web workers in JavaScript.
… make more efficient use resources with asynchronous IO, this isn’t true of Functions as a Service. You don’t pay for idle, but you do pay for wait. As I’ve discussed in prior posts, it’s not that useful to use asynchronous code within a function. They should generally be single-threaded, single-task — otherwise, you’re just using FaaS as a platform to build servers.