Memory là RAM em ạ, dùng từ main memory hơi khó hiểu. Trong java mỗi một thread sẽ dùng khoảng 2MB cho call stack, mình hay gọi là stack memory, có thể cái main memory là một đối tượng singleton ở bên trong máy ảo Java chẳng hạn, khi tạo một biến
volatile boolean active = false thì ở bên trong máy ảo sẽ hoạt động kiểu này:
MainMemory.getInstance().setVolatile("MMORoom.active", false);
Còn khi while(active) sẽ được dịch kiểu này em ạ:
while(true) {
while(!MainMemory.getInstance().getVolatile("MMORoom.active")) {
wait(); // chờ cho đến khi nhận được thông báo từ thread khác
}
}