Java: Concurrency / Java: Параллелизм: 2.1. Defining and Starting a Thread

Английский оригинал Перевод на русский

Сожалеем, но текст оригинала доступен только зарегистрированным пользователям.

Настройка и запуск потоков

moskitos80 27.01.14 в 07:24

0

Приложения, которые создают экземпляры класса Thread должны также предоставить код, который будет выполняться в потоке. Это можно сделать двумя способами:

moskitos80 27.01.14 в 07:25

0

* _Provide a `Runnable` object._ `Runnable` (http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html) который обязывает реализовать единственный метод `run`. Код в этом методе как раз и будет выполнятся в отдельном потоке. После того, как мы создали объект класса, реализующего интерфейс `Runnable` нам нужно передать этот объект конструктору класса `Thread` как в примере [``HelloRunnable``](examples/HelloRunnable.java):

moskitos80 27.01.14 в 07:38

0

*_Подкласс `Thread`. Класс `Thread` имплементирует интерфейс `Runnable`, хотя метод `run` ничего не делает. В приложении подкласс `Thread`, может иметь собственную реализвцию `run`, как показанно в примере [``HelloThread``](examples/HelloThread.java) :

maxpaint 02.06.14 в 22:38

0

Отметьте, что оба примера вызывают `Thread.start` для того чтобы запустить новый поток.

baxi 20.02.14 в 18:02

0

Какой из двух способов стоит использовать? Первый способ, который использует `Runnable` интерфейс, является более общим подходом, потому что объект который использует `Runnable` может быть подклассом не только `Thread`. Второй подход более легкий для использования в приложении, но имеет ограничения так как такой класс может быть только потомком `Thread`. В этом уроке мы сосредоточимся на использовании первого подхода, который разделяет `Runnable` задачу от объекта `Thread` который запускает задачу. Не только потому что этот подход более гибок, но и потому что это применимо к к высокого уровня API, который будет применяться далее.

maxpaint 03.06.14 в 09:16

0

Класс `Thread` определяет ряд методов, используемых для управления потоками. К ним относятся `статические` методы, которые обеспечивают информацию о потоке или изменяющих состояние, потока. Другие методы вызываются из других потоков, участвующих в управлении потоками и `Thread` объектами. В следующих разделах мы рассмотрим некоторые из этих методов .

maxpaint 03.06.14 в 09:21

0
Минутку...