Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2015, 20:28   #1
Zayco
 
Регистрация: 05.06.2015
Сообщений: 5
По умолчанию Спящий парикмахер

Есть парикмахерская , и в ней есть 2 комнаты: 1)Зал ожидания - 5 чел. 2)Зал для стрижки- 2 чел. И так же 2 парикмахера которые спят если нету клиентов , а когда заходит клиент в комнату то парикмахер просыпается
и стрижет его.После того как они постригли идут к выходу.

Помогите сделать второго парикмахера и комнату ожидания из 5 человек.

Вот мой код:
-------------------------------------------------------
Код:
package Theard3; 
 
public class ThreadDemo3 implements Runnable{int i = 0; 
ThreadDemo3() { 
Thread ct = Thread.currentThread(); 
System.out.println("currentThread: " + ct); 
Thread t = new Thread(this, "Стрижка"); 
System.out.println("Thread created: " + t); 
boolean h = false; 
t.start(); 
try { 
//у парикмахера это сколько раз он проверит очередь. 
for (int j = 50; j > 0; j--){Thread.sleep(1);
if(i==0) {System.out.println("Работник спит "+h+" (занятых мест) - "+i);} 
else{ 
//if (h=false) 
//{System.out.println("Клиент будит работника");} 
 
if(h==false) { 
// h=true; System.out.println(i); i--;; 
h=true; --i; 
System.out.println("Начало стрижки "+h+" (кол-во занятых мест ) - "+i); 
Thread.sleep(2); 
System.out.println("Стрижка закончилась "+h+" (кол-во занятых мест в очереди) - "+i); 
h=false; 
} 
}}} 
catch (InterruptedException e) { 
System.out.println("Остановить"); 
} 
System.out.println("Клиентов больше нет"); 
} 
public void run() { 
try { 
//В подпроцессе 50 клиентов!
for (int j = 50; j > 0; j--) {System.out.println("Пришел клиент (кол-во занятых мест в очереди) - "+i); 
if(i<50) 
{if(i==0) 
{++i; System.out.println("Клиент будит работника (кол-во занятых мест в очереди) - "+i); 
Thread.sleep(1); 
} 
else 
{++i; System.out.println("Свободно. Клиент занял очередь (кол-во занятых мест в очереди) - "+i); 
} 
} 
else 
System.out.println("Занято.Клиент ушел. (кол-во занятых мест в очереди) - "+i); 
Thread.sleep(1); 
} 
} 
 
catch (InterruptedException e) { 
System.out.println("конец"); 
} 
System.out.println("Клиент закончились"); 
} 
public static void main(String args[]) { 
new ThreadDemo3(); 
} 
}
Изображения
Тип файла: jpg фото1.jpg (9.3 Кб, 147 просмотров)

Последний раз редактировалось Аватар; 26.11.2015 в 20:40.
Zayco вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
(не)Спящий режим Дmmm Windows 4 08.04.2015 12:44
Спящий режим ололошенько Помощь студентам 21 10.09.2013 18:47
спящий режим в виндовс 7 west777 Помощь студентам 1 23.02.2011 12:53
Тормозит спящий режим Arigato Операционные системы общие вопросы 28 31.10.2010 11:27
Спящий режим на ноутбуке stenl1 Компьютерное железо 2 23.03.2010 16:22