Поток в котором вызывается SetUpdateCallback

Страницы: 1
RSS
Поток в котором вызывается SetUpdateCallback, Поток в котором вызывается SetUpdateCallback
 

В документации естественно таких данных нет, но может кто знает ?

Когда вызывается callback SetUpdateCallback от CreateDataSource - он вызывается всегда только в одном потоке, как в Lua, так и в С++ ?

Кстати интересен данный вопрос и касаемо функции OnQuote.

Вопрос естественно связан с синхронизацией доступа в случае - многотонной SetUpdateCallback .

 
Quikos, Да перестаньте Вы фигнёй страдать, забудьте про С, потоки, dll и вообще любые библиотеки. Пишите на чистом Lua, а там пользуйтесь только sendTransaction, OnTrade и ТТТ - тогда, возможно, Ваш скрипт более-менее нормально ещё проработает некоторое время. И пользуйтесь максимально возможными старыми версиями Квика - по той же причине. Система давно пошла вразнос, её нужно переписывать полностью, с абсолютного нуля.
 
Цитата
Владимир написал:
Quikos, Да перестаньте Вы фигнёй страдать, забудьте про С, потоки, dll и вообще любые библиотеки. Пишите на чистом Lua, а там пользуйтесь только sendTransaction, OnTrade и ТТТ - тогда, возможно, Ваш скрипт более-менее нормально ещё проработает некоторое время. И пользуйтесь максимально возможными старыми версиями Квика - по той же причине. Система давно пошла вразнос, её нужно переписывать полностью, с абсолютного нуля.
Спасибо.
Но, если Вы пишите, что система пошла в разнос, то какая разница на чем писать скрипт на Си или Lua?

Для моих целей у меня есть скрипт на Lua, но Lua мне не нужен.
 
Quikos, Я с самого начала говорил, что несмотря на то, что Си мой наилюбимейший язык на протяжении десятилетий, а Lua, пожалуй, наихудший из всех, которые я знаю, писать нужно на чистом Lua, именно с целью обеспечения максимальной надёжности. Именно поэтому (а также потому, что я в своё время вывел всю обработку в поток main) мой скрипт всё ещё работает, и ему почти безразлична как версия языка, так и версия терминала. Не говоря уже про "неудачные сборки библиотек".
 
Цитата
Владимир написал:
Quikos, Я с самого начала говорил, что несмотря на то, что Си мой наилюбимейший язык на протяжении десятилетий, а Lua, пожалуй, наихудший из всех, которые я знаю, писать нужно на чистом Lua, именно с целью обеспечения максимальной надёжности. Именно поэтому (а также потому, что я в своё время вывел всю обработку в поток main) мой скрипт всё ещё работает, и ему почти безразлична как версия языка, так и версия терминала. Не говоря уже про "неудачные сборки библиотек".
Да, но если убрать фактор "неудачные сборки библиотек", то из Си - Вы все равно вызываете Lua код, только сишный. То есть Вы все равно используете Lua библиотеку же, так же работаете со стеком Lua только из Си.
Тогда в чем разница ?
 
Quikos, Я же сказал, что я использую - только минимально необходимое: sendTransaction, OnTrade и getParamEx. Т.е. то, что пока ещё работает, хотя даже здесь всякого говна предостаточно, вроде прихода нескольких прерываний на одно событие.
 
И никаким Си я не пользуюсь от слова совсем.
 
Цитата
Владимир написал:
И никаким Си я не пользуюсь от слова совсем.
Ну Вы же можете вызывать Lua функции OnTrade и getParamEx. из Си Кода.
Это по Вашему будет использование Си или Lua ?
 
Quikos, А ЗАЧЕМ? Зачем использовать Си для решения столь примитивной задачи как организация торговли на бирже? Зачем связываться с компиляторами, библиотеками и всем прочим?
 
Цитата
Владимир написал:
Quikos, А ЗАЧЕМ? Зачем использовать Си для решения столь примитивной задачи как организация торговли на бирже? Зачем связываться с компиляторами, библиотеками и всем прочим?
Чтобы делать с полученными данными, все что душе угодно.
 
Quikos, А что душе угодно?  :smile: Моей душе угодно, чтобы скрипт зарабатывал деньги, и, желательно, вообще без моего участия. И никакой Си для этого нафиг не нужен.
 
Цитата
Владимир написал:
Quikos, А что душе угодно?  :: Моей душе угодно, чтобы скрипт зарабатывал деньги, и, желательно, вообще без моего участия. И никакой Си для этого нафиг не нужен.
Передача по сети, визуализация, взаимодействие с другими приложениям.
Души у всех разные :)
 
Quikos, То есть всё, что угодно, кроме самой торговли. :smile: А зачем Вам тогда Квик и Луа? Лично мне вне торговли ни то, ни другое тыщу лет и даром не надо.
 
Цитата
Quikos написал:
В документации естественно таких данных нет, но может кто знает ?  Когда вызывается callback SetUpdateCallback от CreateDataSource - он вызывается всегда только в одном потоке, как в Lua, так и в С++ ?  Кстати интересен данный вопрос и касаемо функции OnQuote.  Вопрос естественно связан с синхронизацией доступа в случае - многотонной SetUpdateCallback .
Какая разница в каком потоке вызывается функция?
-------------------------
Полагаю Вы знаете, что любая библиотека dll хранится в памяти компа в единственном экземпляре
--------------------------------
Это значит, что все потоки, даже если их тысяча вызывают один и тот же код функции
-------------------
Важным моментом является какие данные изменяют эти потоки.
------------------
Именно обращение к данным надо синхронизировать, а не обращение к коду функций.
------------------
Уточните свой вопрос.
 
Цитата
Владимир написал:
Quikos, То есть всё, что угодно, кроме самой торговли. :: А зачем Вам тогда Квик и Луа? Лично мне вне торговли ни то, ни другое тыщу лет и даром не надо.
Так я ж и не интересуюсь, что Вам нужно от Квика в торговле и в не её :)

Мне интересно знать  callback SetUpdateCallback - однопоточный или может вызываться из разных потоков одновременно.
 
Цитата
nikolz написал:
Цитата
Quikos написал:
В документации естественно таких данных нет, но может кто знает ?  Когда вызывается callback SetUpdateCallback от CreateDataSource - он вызывается всегда только в одном потоке, как в Lua, так и в С++ ?  Кстати интересен данный вопрос и касаемо функции OnQuote.  Вопрос естественно связан с синхронизацией доступа в случае - многотонной SetUpdateCallback .
Какая разница в каком потоке вызывается функция?
-------------------------
Полагаю Вы знаете, что любая библиотека dll хранится в памяти компа в единственном экземпляре
--------------------------------
Это значит, что все потоки, даже если их тысяча вызывают один и тот же код функции
-------------------
Важным моментом является какие данные изменяют эти потоки.
------------------
Именно обращение к данным надо синхронизировать, а не обращение к коду функций.
------------------
Уточните свой вопрос.

Предположим я заказал данные свечей к примеру по 10 инструментам и все они будут запрошены на сервере, значит данные придут по мере готовности и callback вызовется по мере готовности.

И вот меня интересует - этот callback - будет вызываться ТОЛЬКО последовательно из одного потока или же функция callback может быть вызвана одновременно сразу из нескольких потоков.
 
Цитата
Quikos написал:
Цитата
nikolz написал:
 
Цитата
Quikos  написал:
В документации естественно таких данных нет, но может кто знает ?  Когда вызывается callback SetUpdateCallback от CreateDataSource - он вызывается всегда только в одном потоке, как в Lua, так и в С++ ?  Кстати интересен данный вопрос и касаемо функции OnQuote.  Вопрос естественно связан с синхронизацией доступа в случае - многотонной SetUpdateCallback .
 Какая разница в каком потоке вызывается функция?
И вот продолжая вышеописанное - если callback вызывается всегда последовательно только в оном потоке - читаю данные из пришедшей таблицы свечей условно в одну static переменную, если же одновременно вызванивается в нескольких потоках, то значит нужно думать дальше и одной переменной не обойтись.
 
Quikos, Понятно. Искусство ради искусства меня не интересует. Моё появление в Квике, Луа и на этом форуме имело сугубо практический интерес, а потому мне всегда было насрать и на SetUpdateCallback, и на CreateDataSource, и на потоки, и почти на всё остальное. А для людей с Вашими наклонностями софт идеален - подобными исследованиями здесь можно заниматься ВЕЧНО. И пересматривать полученные знания с каждой новой версией. :smile:  
Страницы: 1
Читают тему (гостей: 1)
Наверх