Составители:
выделения квантов времени контекстного переключения потоков не
будет. Поток с наибольшим приоритетом использует 100 % процес-
сорного времени (в случае равных приоритетов потоки будут выпол-
няться последовательно, один за другим). В данном случае для кон-
текстного переключения можно использовать метод перевода пото-
ков в неактивный режим на определенный период времени
sleep()
или метод явной передачи управления
yield().
Ниже приводится в качестве примера простая 2-х поточная про-
грамма с переключением потоков. При вызове метода sleep()
ис-
пользуется механизм обработки исключений языка Java. Исключения
представлены классами. Их можно обрабатывать при помощи конст-
рукции try() {…} catch() {…}. Если в то время, пока поток
спит, произойдет исключение класса InterruptedException, бу-
дет выполнено предложение catch().
// OneTwo.java
class One extends Thread {
public void run() {
for (int i=0; i<8; i++) {
System.out.println("One");
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
}
}
class Two implements Runnable {
public void run() {
for (int i=0; i<8; i++) {
System.out.println("Two");
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
49
Страницы
- « первая
- ‹ предыдущая
- …
- 47
- 48
- 49
- 50
- 51
- …
- следующая ›
- последняя »