Singleton Pattern Chỉ sơ thẩm Một là tạo nhiều luồng

trong khi sử dụng mẫu đơn, chỉ dụ được tạo ra trong đa luồng?

Sử dụng lớp singleton threadsafe sẽ đảm bảo rằng chỉ là một trong những ví dụ tạo ra.

công khai niêm phong lớp Singleton
{
tư nhân tĩnh Singleton đơn = null;
tư nhân tĩnh chỉ đọc đối tượng singletonLock = new đối tượng();

tin Singleton() {}
public static Singleton getInstance()
{
khóa (singletonLock)
{
nếu (singleton == null)
{
singleton = mới Singleton();
}
trả lại đơn ;
}
}
}

Vấn đề sẽ nâng cao chỉ khi việc tạo ra các trường hợp đầu tiên.

Sử dụng khóa() sẽ cung cấp cho chúng tôi những chủ đề an toàn để tránh thực hiện hai chủ đề tại một thời gian tương tự để tạo ra ví dụ.

Một lần nữa chúng tôi đang xác minh (singletonobject == null) do đó, nó sẽ đảm bảo rằng chỉ dụ một lần sẽ được tạo ra.

đôi kiểm tra tùy chọn này sẽ là bằng chứng đầy đủ cho các lớp học của chúng tôi.

Để lại một trả lời

Bạn có thể sử dụng các thẻ HTML

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>