TheVoidDz Ответов: 1

Мне нужна помощь с кодом, который я написал на Python ? хорош мой код или нет ?


Привет,
Недавно я работал над простым имитационным кодом (Discrete Event Simulation) с одной очередью и одним сервером и детерминированным количеством клиентов с Python , я просто хочу знать, верен ли мой код или я что-то упускаю , потому что у меня есть некоторые трудности в очереди , как заполнить ее, если новые поступления клиентов относятся ко времени отправления предыдущего клиента .. мой код работает, но он просто заполняет один клиент за раз, а затем выскакивает из очереди, чтобы запустить службу .. и т. д
что я здесь упускаю ?

Что я уже пробовал:

Я попробовал этот код здесь : [Питон] Моделирование Очереди Питона Pastebin.com[^] я написал его с помощью класса, и я все еще не пробовал Simpy Framework .


у меня должен быть такой алгоритм ... первый клиент приходит, сервер запускает службу напрямую, а затем, после завершения, клиент уходит, пока сервер занят, есть вероятность, что пришел другой клиент, поэтому сервер не может обработать 2-го клиента, и 2-й войдет в Очередь, ожидая завершения 1-го клиента ... и так далее, что означает, что если приходит третий клиент, он также входит в Очередь, Мой Код, он ставит в очередь только одного клиент за раз, я имею в виду, что очередь никогда не заполняется ожидающими клиентами, она заполняет только одного клиента, затем выталкивает ее, когда сервер завершает работу, затем ставит в очередь 3-го клиента ... и так далее ... вы поняли мою точку зрения?

Patrice T

Покажите свой код

TheVoidDz

это здесь https://pastebin.com/7WmXrnXJ , (его длинный код)

Patrice T

Вставьте свой код сюда !
Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.

TheVoidDz

Готово !

1 Ответов

Рейтинг:
1

Patrice T

Цитата:
я просто хочу знать, верен ли мой код или я что-то упустил ,

Как программист, ваша задача-сделать ваш код правильным и знать, что это так.
Цитата:
у меня возникли некоторые трудности в очереди

Это не информативно, опишите проблему, приведите пример.
Цитата:
мой код работает, но он просто заполняет один клиент за раз, а затем выскакивает из очереди, чтобы запустить службу ... и т. д

Чтобы увидеть, что делает ваш код, используйте отладчик.

Существует инструмент, который позволяет вам видеть, что делает ваш код, его имя отладчик Это также отличный инструмент обучения, потому что он показывает вам реальность, и вы можете увидеть, какие ожидания соответствуют реальности.
Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволит вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения.

Отладчик-Википедия, свободная энциклопедия[^]
phpdbg | php отладчик[^]
Методы отладки для PHP-программистов[^]
Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.


TheVoidDz

Да , я действительно мог бы использовать отладчик, чтобы выяснить проблему ... во всяком случае, я просто уверен, что в коде что-то не так .. я буду продолжать пытаться ... спасибо :)

Patrice T

Попробуйте описать, как это неправильно.

TheVoidDz

у меня должен быть такой алгоритм ... первый клиент приходит, сервер запускает службу напрямую, а затем, после завершения, клиент уходит, пока сервер занят, есть вероятность, что пришел другой клиент, поэтому сервер не может обработать 2-го клиента, и 2-й войдет в Очередь, ожидая завершения 1-го клиента ... и так далее, что означает, что если приходит третий клиент, он также входит в Очередь, Мой Код, он ставит в очередь только одного клиент за раз, я имею в виду, что очередь никогда не заполняется ожидающими клиентами, она заполняет только одного клиента, затем выталкивает ее, когда сервер завершает работу, затем ставит в очередь 3-го клиента ... и так далее ... вы поняли мою точку зрения?

Patrice T

Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.