и возвращением данных? Условно имеется 2 камеры, которые отдают в реальном времени 2 потока кадров, необходимо с каждым из потоков сделать ряд манипуляций и вернуть кадры для дальнейшей обработки. Если запускать потоки через processing для каждого кадра в бесконечном цикле, уходит много времени на сам запуск потоков processing-а, а если сделать бесконечный цикл внутри вызываемой в потоке функции, не совсем понятно как туда отдавать и забирать данные
Подожди, а зачем ты для каждого кадра отдельный процесс делаешь?
одно ядро вполне справляется с обработкой одной камеры, их 8, хотелось бы в рамках этой системы раскидать
Ну так и что тебе мешает? Создай по процессу на камеру. Не надо для каждого кадра отдельный процесс создавать
пробую, у меня один поток забирает кадры и пишет в глобальную переменную, остальные разбирают их по серийному номеру, обрабатывают и пишут обратно, не уверен что это оптимально, но как сделать по-другому не знаю. И еще столкнулся с тем что нельзя вызвать из функции, забирающей кадры метод экземпляра класса
Потоки блочаться гил, если что. Все вычисления делай в процесах
имел в виду процессы, с обработкой все ок, заработало, а вот с получением кадров пока не разобрался. после name == main создается экземпляр класса, который находит камеры и содержит метод, который отдает кадры, не получается к нему обратиться из процесса ниже
Так у процессов своя память, функция, которая улетает в процесс должна все с собой вести или на месте создавать
Обсуждают сегодня