CustomerGenerator
генерирует одного клиента только при вызове. Создание mcve-версии делает это очень ясным:
//i was initialized: i=0;
public void run()
{
while(i<1)
{
final Customer customer = new Customer(till_set);
customer.start();
i++;
}
}
Я не думаю, что это то, что вы имели в виду.
Я нахожу MCV очень полезной техникой. Мало того, что помогает намного легче, это
это мощный инструмент отладки. Во многих случаях при подготовке вы, вероятно, найдете проблему. mcve должен продемонстрировать проблему , а не вашего приложения.
Возможны другие проблемы в коде. Для получения дополнительной помощи, пожалуйста, напишите M Cve.
Некоторые другие комментарии:
В CustomerGenerator
вы передаете ссылку всех операций на Customer
:
final Customer customer = new Customer(till_set);
, который позже используется для выбора кассы. Я думаю, что до тех пор, пока вычисление выбора не будет лучше выполнено в другом классе, скажем, TillsManager, в котором может быть стек всех клиентов, ожидающих получения.
В Driver
Определение
public static Till till_object;
for(i=0; i<5 ; i++)
{
till_object = new Till(item_queue);
till_set.add(till_object);
}
означает, что вы получите 5 раз один и тот же объект в till_set
. Я полагаю, вы хотели:
for(i=0; i<till_count; i++)
{
Till till_object = new Till(item_queue);
till_set.add(till_object);
}