Spec-Zone .ru
спецификации, руководства, описания, API
След: Существенные Классы
Урок: Параллелизм
Вопросы и Упражнения
Домашняя страница > Существенные Классы > Параллелизм

Вопросы и Упражнения: Параллелизм

Вопросы

  1. Можете Вы передавать a Thread объект к Executor.execute? Такой вызов имел бы смысл?

Упражнения

  1. Скомпилируйте и работайте BadThreads.java:
    
    public class BadThreads {
    
        static String message;
    
        private static class CorrectorThread
            extends Thread {
    
            public void run() {
                try {
                    sleep(1000); 
                } catch (InterruptedException e) {}
                // Key statement 1:
                message = "Mares do eat oats."; 
            }
        }
    
        public static void main(String args[])
            throws InterruptedException {
    
            (new CorrectorThread()).start();
            message = "Mares do not eat oats.";
            Thread.sleep(2000);
            // Key statement 2:
            System.out.println(message);
        }
    }
    

    Приложение должно распечатать "Кобыл, действительно едят овес." Это, как гарантируют, всегда сделает это? В противном случае, почему нет? Был бы это помогать изменить параметры двух вызовов Sleep? Как был бы Вы гарантировать что все изменения message будет видимо в основном потоке?

  2. Измените пример производителя-потребителя в Защищенных Блоках, чтобы пользоваться стандартной библиотекой class вместо Drop class.

Проверьте свои ответы.


Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Для Дальнейшего Чтения
Следующая страница: Среда Платформы