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

155

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

không thể thu được

Mutex

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

Ví dụ dưới đây sử dụng một

Mutex

có tên là

MutexExample

để bảo đảm chỉ một thể hiện của ví

dụ có thể thực thi.

using System;

using System.Threading;

public class MutexExample {

public static void Main() {

// Giá trị luận lý cho biết ứng dụng này

// có quyền sở hữu Mutex hay không.

bool ownsMutex;

// Tạo và lấy quyền sở hữu một Mutex có tên là MutexExample.

using (Mutex mutex =

new Mutex(true, "MutexExample", out ownsMutex)) {

// Nếu ứng dụng sở hữu Mutex, nó có thể tiếp tục thực thi;

// nếu không, ứng dụng sẽ thoát.

if (ownsMutex) {

Console.WriteLine("This application currently owns the" +

" mutex named MutexExample. Additional instances" +

" of this application will not run until you" +

" release the mutex by pressing Enter.");

Console.ReadLine();

// Giải phóng Mutex.

mutex.ReleaseMutex();

} else {

Console.WriteLine("Another instance of this" +

" application already owns the mutex named" +

" MutexExample. This instance of the" +

" application will terminate.");

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.