2013-02-19 32 views

回答

6

線程使用共享內存,隔離不。

例如,在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; 

分離物相互隔離。他們之間溝通的唯一方式是傳遞消息。一個隔離區可以偵聽來自另一個隔離區的回調。

查看包括「隔離概念」部分的docs here