Самый простой путь сделать колонку в базе = lok - выбирать с лок 0 и сразу лочить 1, по окончанию возвращать в 0.
Так как это не банковские операции и конкуренция не очень дикая, то в большинстве случаев этого будет достаточно.
Мало потоков
-
Всем привет , подскажите почему бас работает не в полную силу , у меня брут циклами , 10 циклов сервак , 24 ядра 64 озу ставлю 50 или 100 потоков но на деле открывается количество браузеров под количетсво потоков , и через время крутится не больше 20 поттоков хоть 500 ставлю , мощностей хватает минимум 60 % свободны
-

Стоит 50 потоков но выше 25 не когда не поднимаетмся
-
@ApostolValera А остальные потоки может завершаются с ошибкой?
-
В логе этого нету , я около месяца уже бручу и такая проблема , но только сейчас решил поднять эту тему , так как реально пол сервера не чего не делает .
-
@ApostolValera Возможно потоки быстро отрабатывают и БАС просто не успевает открывать новые тк фактические браузеры создаются по очереди
-
@ApostolValera А вы думаете что за 25 сек откроет 500 потоков ? Неееееееет...
-
ставлю 50 потоков крутит максимум 25 это самый максимум и 50 процентов мощностей не используется вопрос стоит о 50 потоках !
Но я еще не сказал что стабильно идет потоков 15 -
@ApostolValera Смотрите тут

-
@ApostolValera добавь сон на 1 мин перед окончанием потока и проверь утверждение @UserTrue.
результат выложи. -
Не знаю как в обычных потоках, но если поток запускается путем запуска асинхронной функции, то большинство ошибок которые случаются в потоке нигде не отображается, поток отваливается без шума и пыли, с сообщение "поток завершился успешно". Возможно и в обычном потоке так же. При этом в режиме "запись" ошибки выдает.
-
-
@olegar
Пару дней назад столкнулся с такой же проблемой и для отлова ошибок сначала навтыкал контрольных точек с выводом в лог, но потом нашел более эффетивный способ. На ВРЕМЯ ТЕСТИРОВАНИЯ асинхронную функцию делаем простым зацикленным потоком, а вместо его вызова делаем передачу параметров (или просто используем флаг вызова) через глобальную переменную (ну естественно в "асинхронную" функцию на это время придется добавить цикл ожидания этого флага).