В чем разница между методом реализации и методом наследования?
*разница:
*Унаследованный поток: код потока хранится в методе запуска подкласса потока
*Реализация Runnable: код потока хранится в методе запуска подкласса интерфейса
* Преимущества реализации: избегайте ограничений единого наследования
* При определении потоков рекомендуется использовать метод реализации. Конечно, если класс не наследует родительский класс, то мультипоточное также может быть реализовано путем наследства класса потоков.
*Примечание: запускаемый интерфейс не бросает исключение, поэтому класс, который реализует его только для того, чтобы быть заказанным и не может бросить
*Java обеспечивает профессиональное решение проблемы безопасности многопоточного чтения, которая состоит в том, чтобы синхронизировать синхронизированный блок кода (Object) {код, который необходимо синхронизировать}
*Меры предосторожности по синхронизации:
*1. Есть 2 или более потоков
*2. Несколько потоков Используйте одну блокировку (объект)
* Преимущества синхронизации: решить многопоточные проблемы безопасности
* Недостатки синхронизации: несколько потоков должны судить о замке, который потребляет больше ресурсов
Пакет многопоточного чтения; Класс билет реализует runnable {// private static int tick = 100; private int tick = 100; Object obj = new Object (); // Создать изображение или переписать класс самостоятельно, чтобы создать объект. Следующие синхронизируют ключевые слова, необходимо использовать @OverridePublic void run () {while (true) {synchronized (obj) // synchronized (this) {if (tick> 0) {try {thread.sleep (10);} catch (Exception e) {} System.out.println (thread.currentThret "+(tick-)+" title "); // tick-;} else {break;}}}}} Общедоступный тест класса {public static void main (string [] args) {билет t = new Ticket (); // Создать класс, который реализует runnable интерфейс // Создать 4 многофункциональные объекты и передавать выше. Thread (t); // Создать потоковое потоковое значение T3 = новый поток (t); // Создать потоковое потоковое значение t4 = new Thread (t); // Создание потока // Открыть Thread T1.start (); T2.start (); T3.start (); t4.start ();}}Выше приведено полное содержание двух способов реализации многопоточной Java, чтобы наследовать класс потока и метод для реализации запускаемого интерфейса. Я надеюсь, что это будет полезно для всех и поддерживать wulin.com больше ~