Написал чекер динамичных данных, суть в том, чтобы ухватить нужные изменения. Необходимо сделать интервал проверки, как можно меньше. Запустил в многопотоке, работает ожидаемо криво: между некоторыми потоками интервал минимальный, зато между другими огромный (по меркам задачи), а некоторые потоки вообще сплетаются, и чекают в один момент, т.е. по сути один из них стреляет в холостую. Ну чистый рандом в общем, всё логично.
Какие могут быть варианты? Можно ли тут нечто подобие очереди организовать? Скажем первый поток дошел до точки N, делает проверку ушел ли кто-то в течении 3 секунд с этой точки, если нет - ждет, как-то только прошло 3 сек, продолжает работу, если несколько потоков подошли к точки N, то соответственно так же пускать их очередью.
Предполагаю, что здесь нужно использовать глобальные переменные, но я с ними никогда не работал, нужен ликбез.
В общем, буду благодарен за помощь.
Какие могут быть варианты? Можно ли тут нечто подобие очереди организовать? Скажем первый поток дошел до точки N, делает проверку ушел ли кто-то в течении 3 секунд с этой точки, если нет - ждет, как-то только прошло 3 сек, продолжает работу, если несколько потоков подошли к точки N, то соответственно так же пускать их очередью.
Предполагаю, что здесь нужно использовать глобальные переменные, но я с ними никогда не работал, нужен ликбез.
В общем, буду благодарен за помощь.
Вложения
-
15,6 КБ Просмотры: 22