Возможно ли узнать номер потока асинхронной функции по ID потока?



  • Изначально глобалня переменная у меня - 0
    Потоки стартовали. У каждого потка проверка глобальной переменной идет:
    если 0 - можна резервировать свой поток под действия.
    И так один первий поток резервирует себя под действия заменяю глобалную переменную на свой номер потока, роботает скоко надо. Потом меняет глобальную переменную опять на 0, давая другим возможность себя зарезервировать и завершает свою роботу. А что если он не успеет добратса до последнего изминения переменной на 0 изза ошыбки? Тогда другии потоки никогда не начнут виполнять действия. Заварачивания функции в игнор не поможет - так как ошыбка может произойти в потоке что не виполняэт действия - обнулить глобальную переменную., таким образом может запустить под действия более двох потоков одноврименно. Поетому если другая асинхронная фунция будеть проверять на сравнения номер глобальной переменной и той функции, что себя зарезервировала, то если она не роботает то сам обнулить глобальную перем. Но вопрос как узнать ID потока по номеру потока?



  • Кирпич такой есть "номер потока" - почему он не может быть ID для потока?
    А если ошибка, поток пусть перезапускается.


Log in to reply
 

  • 26
  • 4
  • 2
  • 2
  • 4
  • 2
  • 9
  • 4