В настоящее время я изучаю операционные системы в колледже. Это сделало меня более осведомленным о том, что происходит в мониторе активности моей macOS. Вчера я написал простую программу на Python с 3-оконным графическим интерфейсом (используя pysimplegui), и когда я проверяю ее в мониторе активности, я вижу, что иногда она имеет от 4 до 7 потоков. Я вообще не использовал многопоточность, и, согласно тому, что я узнал, однопоточная программа должна отображать только 1 поток.
Пожалуйста, помогите мне понять, что происходит.
Я не думаю, что это необходимо. Я действительно не использовал нити
Может быть, нет, но вы, вероятно, используете библиотеку, которая это делает. Не мешало бы узнать какой.
Как он был запущен? Используете IDE? Конечно, ОС использует потоки, как и многие «слои пирога».
Раньше я не использовал pyaimplegui, но библиотеки очень часто используют потоки без вашего ведома. Например, графический интерфейс использует потоки, чтобы дать вам возможность перемещать окно, когда в фоновом режиме выполняются какие-то дорогостоящие вычисления; вместо того, чтобы заморозить все окно.
Вы можете попробовать прочитать документацию по библиотеке, чтобы узнать, как они используют потоки.
Примечание: Кроме того, вам нужно знать, что многопоточность в Python не похожа на многопоточность в других языках из-за GIL/мьютекса.
В документации PySimpleGUI, PySimpleGUI.org, много говорится о потоках и PySimpleGUI.
Любой код, чтобы пойти с этим? См. минимальный воспроизводимый пример