глобалки колбэки и многопоточность

Страницы: 1
RSS
глобалки колбэки и многопоточность
 
на сколько безопасно изменения глобалки из колбэка и чтение из main? есть ли вероятность , что мы упадём нахер?

ISRUN = false

LAST_ALLTRADE_NUM = 0

function OnAllTrade(alltrade)
 LAST_ALLTRADE_NUM = alltrade.trade_num
end

function main()
 x = 0
 while ISRUN do
   if LAST_ALLTRADE_NUM > x then
     x = LAST_ALLTRADE_NUM
     -- ...
   else
     sleep(1)
   end
 end
end
 
Добрый день.

При выполнении скрипта с присланным вариантом кода не должно возникнуть критических проблем с аварийным завершением работы терминала.
 
Цитата
andrey2185 написал:
на сколько безопасно изменения глобалки из колбэка и чтение из main? есть ли вероятность , что мы упадём нахер?

ISRUN = false

LAST_ALLTRADE_NUM = 0

function OnAllTrade(alltrade)
 LAST_ALLTRADE_NUM = alltrade.trade_num
end

function main()
 x = 0
 while ISRUN do
   if LAST_ALLTRADE_NUM > x then
     x = LAST_ALLTRADE_NUM
     -- ...
   else
     sleep(1)
   end
 end
end
колбеки  в том же стейте что и глобалки  Т е они никогда не упадут
проблемы в многопоточности не с чтением данных а с записью новых в момент чтения.
Поэтому с чтением в main глобалок  тоже нет проблем  
Полагаю что там задействованы еще и критические секции.
----------------------------
Но в любом случае туда , куда указали,точно не упадет.
Страницы: 1
Читают тему
Наверх