CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 154

154
Chương 4: Tiểu trình, tiến trình, và sự đồng bộ

if (!process.CloseMainWindow()) {

// Không gửi được thông điệp. Kết thúc Notepad bằng Kill.

Console.WriteLine("CloseMainWindow returned false - " +

" terminating Notepad with Kill.");

process.Kill();

} else {

// Thông điệp được gửi thành công; đợi 2 giây

// để chứng thực việc kết thúc trước khi viện đến Kill.

if (!process.WaitForExit(2000)) {

Console.WriteLine("CloseMainWindow failed to" +

" terminate - terminating Notepad with Kill.");

process.Kill();

}

}

}

// Nhấn Enter để kết thúc.

Console.WriteLine("Main method complete. Press Enter.");

Console.ReadLine();

}

}

12.

12.

B o đ m ch có th ch y

ả ả

ể ạ

B o đ m ch có th ch y

ả ả

ể ạ

m t th hi n c a ng d ng t i m t th i đi m

ộ ể ệ ủ ứ

ạ ộ ờ ể

m t th hi n c a ng d ng t i m t th i đi m

ộ ể ệ ủ ứ

ạ ộ ờ ể

Bạn cần bảo đảm rằng, tại một thời điểm chỉ có thể chạy một thể hiện của ứng
dụng.

Tạo một đối tượng

System.Threading.Mutex

và bảo ứng dụng thu lấy quyền sở

hữu đối tượng này lúc khởi động.

Mutex

cung cấp một cơ chế để đồng bộ hóa quá trình thực thi của các tiểu trình vượt qua biên

tiến trình và còn cung cấp một cơ chế tiện lợi để bảo rằng chỉ một thể hiện của ứng dụng đang
chạy. Bằng cách cố thu lấy quyền sở hữu một đối tượng

Mutex

lúc khởi động và thoát nếu

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.