Dalam pengaturcaraan selari Java, mekanisme kunci ialah alat penting untuk mengawal akses kepada sumber yang dikongsi, termasuk kunci terbina dalam, kunci eksplisit dan kunci baca-tulis. Ia digunakan untuk melindungi data yang dikongsi, mengawal susunan akses dan menunggu tugasan benang selesai. Dalam kes praktikal, kunci terbina dalam digunakan untuk melindungi akses kepada baki akaun bank untuk memastikan akses serentak adalah selamat dan betul.
Mekanisme Kunci dalam Pengaturcaraan Selari Java
Dalam pengaturcaraan selari Java, mekanisme kunci ialah alat penting untuk mengawal akses kepada sumber yang dikongsi. Mereka menghalang berbilang benang daripada mengakses data yang dikongsi secara serentak, memastikan ketekalan data dan ketepatan program.
Java menyediakan pelbagai mekanisme penguncian, termasuk:
synchronized
. synchronized
关键字来获取。使用场景
锁机制在并行编程中有多种应用场景,包括:
实战案例:银行账户
考虑一个银行账户的示例,它可以被多个线程并发访问。为了确保账户余额的一致性,必须使用锁来保护对此余额的访问。
使用内置锁实现的 Java 代码如下:
public class BankAccount { private int balance; public synchronized void deposit(int amount) { balance += amount; } public synchronized void withdraw(int amount) { if (amount <= balance) balance -= amount; } public int getBalance() { return balance; } }
在上面示例中,synchronized
关键字用于保护对 balance
变量的访问。任何试图访问或修改 balance
: Kunci eksplisit ialah antara muka yang disediakan dalam pakej konkurensi Java, yang menyediakan kawalan yang lebih halus daripada kunci terbina dalam. Kunci Baca-Tulis (ReadWriteLock)
: Kunci baca-tulis membenarkan berbilang urutan mendapatkan akses baca sahaja kepada sumber yang dikongsi pada masa yang sama, tetapi hanya satu utas boleh memperoleh akses tulis. Senario penggunaan🎜🎜🎜Mekanisme kunci mempunyai pelbagai senario aplikasi dalam pengaturcaraan selari, termasuk: 🎜🎜🎜Melindungi data kongsi daripada akses serentak. 🎜Kawal susunan akses kepada sumber. 🎜Tunggu urutan lain untuk menyelesaikan tugasan. 🎜🎜Kes Praktikal: Akaun Bank🎜🎜🎜Pertimbangkan contoh akaun bank yang boleh diakses serentak oleh berbilang rangkaian. Untuk memastikan ketekalan baki akaun, akses kepada baki ini mesti dilindungi menggunakan kunci. 🎜🎜Kod Java yang dilaksanakan menggunakan kunci terbina dalam adalah seperti berikut: 🎜rrreee🎜Dalam contoh di atas, kata kuncisynchronized
digunakan untuk melindungi akses kepada pembolehubah balance
. Mana-mana urutan yang cuba mengakses atau mengubah suai baki
mesti memperoleh kunci objek terlebih dahulu. Ini memastikan bahawa hanya satu utas boleh mengakses pembolehubah pada satu masa. 🎜🎜🎜Kesimpulan🎜🎜🎜Mekanisme penguncian adalah penting untuk pengaturcaraan selari Java, yang boleh memastikan akses serentak kepada sumber dikongsi adalah selamat dan betul. Artikel ini memperkenalkan mekanisme kunci yang disediakan oleh Java dan senario aplikasinya serta menyediakan kes praktikal untuk menunjukkan cara menggunakan kunci untuk melindungi data kongsi. 🎜Atas ialah kandungan terperinci Pelaksanaan dan aplikasi mekanisme kunci dalam pengaturcaraan selari Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!