Вопросы про CallBack

Страницы: 1
RSS
Вопросы про CallBack
 
Допустим у меня есть CallBack



Код

a={}
function OnTrade(trade)

       a[trade.trade_num]={}
       a[trade.trade_num].status="NEW"
       a[trade.trade_num].value=.....вычисления



end


И есть функция main  в которой просматривается таблица a,не может ли у нас получится  там,  что a[trade.trade_num].status=nil?
Правда чисто теоретически...но все же интересно.Потоки то разные вроде.
 
Здравствуйте,
Цитата
Алексей Злобин написал:
И есть функция main  в которой просматривается таблица a,не может ли у нас получится  там,  что a[trade.trade_num].status=nil?
Да, если main проверит таблицу до совершения сделок.
 
Вопрос с подвохом. Если Вы сравниваете a[trade.trade_num].status=nil, то номер сделки у Вас уже есть.
А раз так, значит сделка уже была. И в OnTrade таблица уже заполнилась.
Таким образом, если в main искать именно по номеру сделки, то нет, такая ситуация (=nil) не должна происходить
Это конечно же при условии что сам по себе trade.trade_num не равен nil.
 
Вы не поняли наверно.
Смотрите
Получаем сделку
1) a[trade.trade_num]={}
И в этот момент у нас идет обращение в main к a[trade.trade_num] и оно уже не nil,но 2 строка еще не выполнена a[trade.trade_num].status="NEW",а поэтому в main

получится у нас a[trade.trade_num].status=nil
 
Цитата
Алексей Злобин написал:
равда чисто теоретически...но все же интересно.Потоки то разные вроде.
Да, с таким примером может получиться.
 
Цитата
Алексей Злобин написал:
И есть функция main  в которой просматривается таблица a,не может ли у нас получится  там,  что a[trade.trade_num].status=nil?
Правда чисто теоретически...но все же интересно.Потоки то разные вроде.
Добрый день.
Используйте потокобезопасные функции для работы с таблицами Lua. Подробнее смотрите в разделе "Взаимодействие потоков Lua скрипта" (документ 'Использование Lua в Рабочем месте QUIK.pdf'. Файл можно найти в архиве quik_7.4.0_upd.zip в директории Doc\Lua.)
Перед тем как задать вопрос, убедитесь, что решение Вашей задачи не описано в официальном мануале - 'Использование Lua в Рабочем месте QUIK.pdf' https://arqatech.com/upload/Public/quik_lua.zip
Страницы: 1
Читают тему
Наверх