Задать вопрос
ZIK1337
@ZIK1337

Как с помощью pymysql работать в многопотоке?

Допустим работает 200 потоков, соединение устанавливаю в основном потоке и передаю его дочерним.
Нужно, чтобы в конце работы каждого потока (данные зависят от вычислений в потоке) шла запись одной строки в БД через это переданное соединение.
Но это не выходит сделать, вроде как соединение pymysql нельзя в потоки передавать, но и в каждом потоке коннектиться к БД - тоже нельзя.

Как тогда можно реализовать задачу?
  • Вопрос задан
  • 229 просмотров
Подписаться 1 Простой Комментировать
Ответ пользователя ArtiomK К ответам на вопрос (3)
@ArtiomK
Соединения с базой данных можно создавать только в потоке, один поток - одно активное соединение . В Python GIL не позволит сделать вычисления быстрее за счёт многопоточности, если нужны именно вычисления используйте multiprocessing. Если не нужны вычисления рассмотрите asyncio как альтернативу multithreading.
Ответ написан