4

私にとって、DART Isolate は用語が異なるスレッド (Java/C#) のように見えます。Isolate が Thread と異なる点はどれですか?

4

1 に答える 1

7

スレッドは共有メモリを使用しますが、アイソレートは使用しません。

たとえば、Java/C# での次の擬似コード

class MyClass {
  static int count = 0;
}

// Thread 1: 
MyClass.count++;
print(MyClass.count); // 1;

// Thread 2:
MyClass.count++;
print(MyClass.count); // 2;

これにより、共有メモリが両方のスレッドによって同時に変更されるリスクも生じます。

一方、ダートでは、

class MyClass {
  static int count = 0;
}

// Isolate 1: 
MyClass.count++;
print(MyClass.count); // 1;

// Isolate 2:
MyClass.count++;
print(MyClass.count); // 1;

分離株は互いに分離されています。それらの間で通信する唯一の方法は、メッセージを渡すことです。一方の分離株は、もう一方の分離株からのコールバックをリッスンできます。

「概念の分離」セクションを含むドキュメントをチェックしてください。

于 2013-02-19T12:22:36.223 に答える