Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Очередь потоков 
:(
    Опции темы
raigon
Дата 2.5.2014, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 28.3.2014

Репутация: нет
Всего: нет



Помогите пожалуйста решить задачу
Есть три класса: класс CPUQueue описывает очередь, класс CPUProcess моделирует поток процессов, а класс CPU – поток обслуживания процесса центральным процессором.

Задание: Программа моделирует обслуживание одного потока процессов одним центральным процессором компьютера с одной очередью. Если очередной процесс генерируется в момент, когда процессор свободен, процесс поступает на обработку в процессор, иначе процесс поступает в очередь. Если процессор свободен и в очереди есть процессы, процесс удаляется из очереди. Определите максимальную длину очереди.

Для одного класса я написал, а как для 3-х сделать не могу понять.

Код

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        try {
                jList1.setModel(model);
                int i = Integer.parseInt(jTextField1.getText());
                jTextField1.setText("");
                if (myThready.isAlive()) {
                    model.addElement(i);
                } else {
                    model.addElement(i);
                    myThready = new Thread(new Runnable() {
                        public int time = 10;
                        @Override
                        public void run() {
                            if (model.isEmpty()) {                        //есть ли у этого списка какие-либо компоненты (true - если нет)
                                return;
                            }
                            time = model.get(0);                                    
                            model.remove(0);
                            try {
                                Thread.sleep(time * 1000);
                            } catch (InterruptedException ex) {
                                Logger.getLogger(mainFrame.class.getName()).log(Level.SEVERE, null, ex);
                            }
                            System.out.println(time + "c\nПоток завершен!\n");
 
                            if (!model.isEmpty()) {
                                this.run();
                            }
                        }
                    });
                myThready.start();
            }
        } catch (NumberFormatException ex) {
            JOptionPane.showMessageDialog(rootPane, ex.getMessage());
            jTextField1.setText("");
        }
    }          

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0973 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.