TicSo, нет, он будет сильно проигрывать, ибо в канал Вы отправляете копию вектора на каждый чих, при этом выделяется память (что само по себе не дешевая операция) + копируются все элементы, а так как элементы у нас String - то ещё и выделяется память под каждую копию строки и копируются её байты. И это у Вас на каждый ввод происходит.
Издержки на синк потоков по сравнению с этим всем просто копейки
я же в прошлом вопросе подсказал уже, что тут намного лучше не через каналы копию вектора передавать, а шарить общий вектор обёрнутый в Mutex/RwLock между потоками.
Но если очень уж хочется именно на каналах, то в отдельный поток имеет смысл выносить не вывод состояния вектора, а ввод из stdin, а в основном потоке читать канал через recv_timeout и try_recv
to_east, можно, и даже нужно
в варианте как в вопросе - это сахар над присваиванием свойства в конструкторе (функция будет создаваться при каждом вызове конструктора, на каждый инстанс своя функция)
в варианте как в комменте - метод прототипа (одна функция на все инстансы)
0x80070005, а сколько всего объектов? или может есть какой ещё признак, что получены все объекты?
А в целом складываете объекты в массив и после получения последнего console.log
historydev, смысл usize/isize - int размер которого привязан к размеру машинного слова, всё остальное идёт уже от того где удобно использовать int такого размера
Может я чего не понимаю, но со скоростью света движутся только безмассовые объекты в абсолютном вакууме.
Сигнал же передаётся зачастую электронами в проводнике, но даже если фотонами (радио, оптоволокно), то многократно отражается, что увеличивает проходимое фотоном расстояние по отношению к полезному расстоянию, а следовательно скорость сигнала будет ниже, не говоря о том что фотоны опять таки движутся в среде
не уверен насчёт kitty, но думаю должен тоже уметь:
в alacritty при запуске можно задать произвольный класс для окна: alacritty --class htop.alacritty -e htop
делаем запуск подобной командой и правило завязываем уже на класс
если что не понятно - спрашивайте