Di Jawa, bilakah kita boleh menggunakan blok yang disegerakkan?
Sep 03, 2023 am 10:21 AMSyncBlock ialah sekeping kod yang boleh digunakan untuk melakukan penyegerakan semula pada mana-mana sumber tertentu sesuatu kaedah. Blok penyegerakan digunakan untuk mengunci sebarang objek sumber kongsi dan skop blok penyegerakan adalah lebih kecil daripada kaedah penyegerakan .
Syntax
synchronized(object) { // block of code }
Di sini, objek ialah rujukan kepada objek yang sedang disegerakkan. Blok disegerakkan memastikan kaedah ahli objek dipanggil hanya selepas utas semasa berjaya memasuki monitor objek.
Contoh
class TicketCounter { int availableSeats = 2; void bookTicket(String name, int numberOfSeats) { if((availableSeats >= numberOfSeats) && (numberOfSeats > 0)) { System.out.println(name+" : "+ numberOfSeats + " Seats Booking Success"); availableSeats -= numberOfSeats; } else { System.out.println(name +" : Seats Not Available"); } } } class TicketBookingThread extends Thread { TicketCounter tc; String name; int seats; TicketBookingThread(TicketCounter tc, String name, int seats) { this.tc = tc; this.name = name; this.seats = seats; } public void run() { <strong> synchronized(tc) { // synchronized block </strong> tc.bookTicket(name, seats); } } } public class SynchronizedBlockTest { public static void main(String[] args) { TicketCounter tc = new TicketCounter(); TicketBookingThread t1 = new TicketBookingThread(tc, "Adithya", 2); TicketBookingThread t2 = new TicketBookingThread(tc, "Jai", 2); t1.start(); t2.start(); } }
Output
Adithya : 2 Seats Booking Success Jai : Seats Not Available
Atas ialah kandungan terperinci Di Jawa, bilakah kita boleh menggunakan blok yang disegerakkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Cuti atau kembali dari Java 8 Stream Foreach?
