Как tkinter не зависит от потоковой передачи, когда tkinter всегда занимает процессор? - PullRequest
0 голосов
/ 18 июня 2020

Обновите заголовок, чтобы прояснить мой вопрос:

Мне недавно сказали, что Python не может вести тред, и я нахожу это запутанным. Что-то связанное с вводом-выводом и процессором. Возьмем, к примеру, я запускаю несколько «потоков» для одновременного выполнения нескольких запросов к серверу SQL, чтобы не запускать их один за другим вечно. Это также сделано для того, чтобы не блокировать Tkinters mainl oop, поскольку Tkinter - это однопоточная библиотека. На данный момент я чувствую, что все в python однопоточное ...

Итак, когда я поднимал этот вопрос, мне сказали, что каждый поток может занимать ЦП только одновременно, а сервер SQL обрабатывает Загрузка. Я понимаю это до определенной степени, но если это так, то как же так, что Tkinters mainl oop не заблокирован, если процессор может работать только с одним потоком за раз, тогда в любое время, когда мои другие потоки делают вещи mainl oop должен быть заблокирован этим logi c.

Я знаю, что это не может быть правдой, поскольку mainl oop работает нормально, а мой GUI не заморожен, поэтому что-то еще, чего я не понимаю, должно быть

Итак, мой вопрос:

Как эта потоковая передача не блокирует tkinter mainl oop, если это не параллельная обработка?

Как точно выполняет Python "Thread" и в чем разница между IO и CPU с точки зрения потоковой передачи?

В этом сообщении есть некоторая информация по моему второму вопросу. Тем не менее, это не то, что я хотел бы знать о mainl oop.

...