В этой статье представлены две кандалы для реализации многопоточных проблем с несколькими витринами, а именно синхронизированными, lock () и unlock ()
Конкретный код заключается в следующем:
Первый тип:
пакет запускается; импортировать java.util.concurrent.locks.lock; Import java.util.concurrent.locks.reentrantlock; / * * Синхронизация * Существует два способа заблокировать * Здесь: * 1.synchronized * 2.lock () и unlock () */ public class myrunnable реализует {private int билеты = 100; // Определить блокировку частного блокировки = new Reentrantlock (); public void run () {while (true) {// lock lock.lock (); if (билеты> 0) {try {thread.sleep (100); } catch (прерванная экспрессия e) {// todo автоматически сгенерированный блок e.printstacktrace (); } System.out.println (thread.currentThread (). GetName () + "Проданный" + (билеты--) + "Билеты"); } lock.unlock (); }}}результат:
Второй тип:
пакет запускается; / * * Синхронизированный * Есть два способа заблокировать * Здесь: * 1.synchronized * 2.lock () и unlock () */ public class myrunnable реализует {private int билеты = 100; public void run () {while (true) {synchronized (this) {if (билеты> 0) {try {thread.sleep (100); } catch (прерванная экспрессия e) {// todo автоматически сгенерированный блок e.printstacktrace (); } System.out.println (thread.currentThread (). GetName () + "Проданный" + (билеты--) + "Билеты"); }}}}}результат:
пакет запускается; public class runnabledemo {public static void main (string [] args) {myrunnable myrunnable = new myrunnable (); Потока T1 = новый поток (Myrunnable, «Окно One»); Потока T2 = новый поток (Myrunnable, «окно два»); Потока T3 = новый поток (Myrunnable, «окно третья»); t1.start (); t2.start (); t3.start (); }}Я не знаю, было ли это совпадением или что-то в этом роде, но когда я запускал эти два многопоточных небольших экземплярах, компьютер внезапно застрял, и я быстро отключил затмение.
Есть заявления о прекращении процесса и не были добавлены, пожалуйста, обратитесь к нему самостоятельно.
Выше приведено все содержание этой статьи о примере проблемы с многопоточной задачей на Java. Я надеюсь, что это будет полезно для подавления. Если у вас есть какие -либо вопросы, пожалуйста, оставьте сообщение в любое время и с нетерпением ждем ваших ценных комментариев.