cuốn sách gpt4 ai đã làm

Trình giám sát lớp đang hoạt động

In lại Tác giả: Người biết Thời gian cập nhật: 2024-03-13 05:57:52 28 4
mua khóa gpt4 Nike

1. Các phương thức tĩnh cùng lớp được trang trí đồng bộ

1 mã

gói đồng thời; nhập java.util.concurrent.TimeUnit; lớp công khai ClassMonitor { public static được đồng bộ hóa void Method1() { System.out.println(Thread.currentThread().getName() + " enter to Method1"); .SECONDS.sleep(10); } bắt (InterruptedException e) { e.printStackTrace() } System.out.println(Thread.currentThread().getName() + " exit to Method1"); } public static static được đồng bộ hóa void Method2() { System.out.println(Thread.currentThread().getName() + " enter tới phương thức 2"); thử { TimeUnit.SECONDS.sleep(10); } Catch (InterruptedException e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName() + " exit to Method2"); } public static void main(String[] args) { ClassMonitor thisMonitor = new ClassMonitor(); , "T1").start(); Chủ đề mới(ClassMonitor::method2, "T2").start();

2 bài kiểm tra

T1 nhập vào phương thức 1

T1 thoát sang phương thức 1

T2 nhập vào phương thức 2

T2 thoát sang phương thức 2

2. Các phương thức tĩnh của cùng một lớp được trang trí bằng các khối mã được đồng bộ hóa và đồng bộ hóa tương ứng.

1 mã

gói đồng thời; nhập java.util.concurrent.TimeUnit; lớp công khai ClassMonitor1 { public static được đồng bộ hóa void Method1() { System.out.println(Thread.currentThread().getName() + " enter to Method1"); .SECONDS.sleep(10); } bắt (InterruptedException e) { e.printStackTrace() } System.out.println(Thread.currentThread().getName() + " exit to Method1"); } public static void Method2() { được đồng bộ hóa (ClassMonitor1.class) { System.out.println(Thread.currentThread(). getName() + " nhập vào phương thức2"); thử { TimeUnit.SECONDS.sleep(10); bắt (InterruptedException e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName() + " thoát sang phương thức 2"); } } public static void main(String[] args) { ClassMonitor1 thisMonitor = new ClassMonitor1() ; Chủ đề mới(ClassMonitor1::method1, "T1").start(); Chủ đề mới(ClassMonitor1::method2, "T2").bắt đầu();

2 bài kiểm tra

T1 nhập vào phương thức 1

T1 thoát sang phương thức 1

T2 nhập vào phương thức 2

T2 thoát sang phương thức 2

Ba kết luận

Hai bộ mã trên có tác dụng thực thi giống nhau. Chỉ một luồng có thể truy cập phương thức tĩnh của ClassMonitor cùng một lúc. Các phương thức tĩnh khác nhau của một lớp được đồng bộ hóa bằng cách sử dụng đồng bộ hóa để giành khóa của cùng một màn hình. màn hình là phiên bản ClassMonitor.

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress