Работа в многопотоке



  • Такая ситуация, работаю с номером и ID активацией номера.
    Первый поток , беру номеру, выпаршиваю ид активации в отдельную переменную, номер в другую.
    Всё хорошо , первый поток проработал.
    Запускаю многопоток в функции, чтобы ещё 3 потока запустить.
    Везде ввожу номер телефона (он везде один), затем моя задача получить для каждого потока код.
    Так как ид активации один и вывел я его в глобалку кстати, также как и номер телефона для других потоков.
    Коды бывают мешаются, т.е от 5 потока может получить 2 поток код, от 3 потока может получить код поток 4 и т.д
    Как этого можно избежать?



  • @kullq2 например использовать блокировку.(то есть в 1 момент только 1 поток может делать запрос, остальные ждут очереди)



  • @tet-vivi said in Работа в многопотоке:

    @kullq2 например использовать блокировку.(то есть в 1 момент только 1 поток может делать запрос, остальные ждут очереди)

    Как это реализовать?



  • @kullq2 добавить глобальную переменную.
    если(if) значение его = 1(true) - то можно делать запрос. переводим в 0(false) до получения кода, после обратно в 1(true)
    иначе(else) ждем энное время и еще раз проверяем.

    это лучше засунуть в цикл while с условием true



  • @tet-vivi said in Работа в многопотоке:

    @kullq2 добавить глобальную переменную.
    если(if) значение его = 1(true) - то можно делать запрос. переводим в 0(false) до получения кода, после обратно в 1(true)
    иначе(else) ждем энное время и еще раз проверяем.

    это лучше засунуть в цикл while с условием true

    Скорее здесь проблема у меня как передавать эту инфу между потоками.
    Как настроить правильно if и передавать инфу между потоками какому можно, а какому нельзя делать сейчас запрос кода.


Log in to reply
 

  • 6
  • 3
  • 3
  • 4
  • 36
  • 2
  • 5
  • 3