Dart is a single threaded programming language. Each isolate is a unit of work. It has its own memory allocation. Sharing memory between isolates is not possible. Each isolate can pass over messages to the others. When an isolate receives a message it processes it in a way similar to events handling.
import "dart:isolate";
var product = "noname";
main()
{
spawnFunction(sell);
spawnFunction(buy);
for(var i=1;i<=10;i++)
{
print("market of all goods i=$i product=$product");
for(var m=1;m<=1000000;m++);
}
for(var m=1;m<=100000000;m++);
}
sell()
{
product = "banana";
for(var i=1;i<=10;i++)
{
print("i want to sell $product i=$i");
for(var m=1;m<=1000000;m++);
}
}
buy()
{
product = "tapuz";
for(var i=1;i<=10;i++)
{
print("i want to buy $product i=$i");
for(var m=1;m<=1000000;m++);
}
}
The following video clip overviews this code sample, shows its execution and explains it.







