скажите, чем oбуслoвлен лимит на потoки? не видел ещё ни разу, чтобы однoвременно рабoтало больше 200 штук мoжно ли егo увеличить?
Дикс тысяча потоков пишущих в файл out.txt. Отследить, что почти все потоки запущены одновременно можете по этому же файлу Code: import threading import logging logging.basicConfig(filename='out.txt', level=logging.DEBUG) class worker(threading.Thread): def __init__(self, num): threading.Thread.__init__(self) self.thread_num = num def run(self): logging.warning('Thread %d started', self.thread_num) for i in range(200): logging.info('ident: %d num: %d', self.thread_num, i) logging.warning('Thread %d stopped', self.thread_num) for i in range(1000): worker(i).start()
да, сорри, не хватило ума снять лимит в конфиге на данный момент вопрос несколько изменился 300 потоков работает, при 400 - потоки получают эксепшен "не могу подключиться к файлу БД", используется sqlite. Почему они все не могут подключиться к одному файлу БД? Лимит в настройках sqlite?
Писать в базу данных из четырехсот потоков явно оптимальнее, чем из парочки, которые бы обрабатывали запросы этих четырехсот, 100%. И вообще, 400 потоков смущают, зачем так много? Лучше асинхронно работу реализовать, но использовать меньше потоков, а то все время уйдет на переключение контекстов, да и памяти будет больше использоваться.