Oleg Shevelev: эту часть я не трогал, она не относилась к вопросу. Где условие насчет того, что соединение одно? По-вашему, сервер должен принять одно соединение и закрыться?
Горутины это не процессы, вы их не увидите в топе. Если у вас код именно такой, как приведенный здесь, то программа просто завершится почти сразу, ибо вы не ждете завершения горутин. Посмотреть их всех можно если вызвать трейс или панику, вам вывалит огромный список горутин,у каждой будет указано место в коде, где она остановилась.
Скорее всего топология у модели кривая. Проверьте, что модель замкнутая и что все вершины соединены правильно, что нет дубликатов вершин и поверхностей.
Darlov: вы пытаетесь представлять два параметра командной строки как один args1:="-compose Dst_Over"
их нужно отдельно передавать, например: arg1:="-compose" arg2:="Dst_Over"
Darlov: ну, тогда будет достаточно одного такого поля, тогда в массив попадут все поля ноды. Я думаю, что есть библиотеки, в которых подобное уже реализовано, причем, удобнее.
Михаил: нет, это же основы работы с каналами в go. Если мы применяем range на канал, то мы читаем из канала записи, пока канал не будет закрыт. Т.е., эти 5 горутин, которые запускаются в первом цикле "for i := 0; i < NUM_WORKERS; i++", будут работать все время, вычитывая и обрабатывая записи. А так как этих горутин всего 5, одновременно будет обрабатываться всегда не более 5 записей.