<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: ещё много много раз - потокобезопасные операции]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме ещё много много раз - потокобезопасные операции форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 02 May 2026 15:44:58 +0300</pubDate>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message9272/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_IftTklSZ" href="/user/54/" bx-tooltip-user-id="54">Серж</a> пишет: <br /><br />====quote====<br /> Michael Bulychev пишет: <br />заблокирует/приостановит в любом случае<br /><br />=============<br />Понял. Спасибо.<br />Вы не думаете, что об этом стоило упомянуть в документации?<br /><br />=============<br />Добрый день,<br /><br />Описанная в данном инциденте ошибка была исправлена в версии 7.0.0 терминала QUIK.<br /> Данная версия терминала была выслана всем брокерам, использующим систему QUIK вчера, 07.10.2015, в установленном порядке передачи обновлений .<br /> Рекомендуем Вам дождаться обновления версии терминала у Вашего брокера и обновить Ваш терминал.<br /> Приносим извинения за причиненные неудобства. <br />
			<i>08.10.2015 10:41:31, Stanislav Tvorogov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message9272/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message9272/topic511/</guid>
			<pubDate>Thu, 08 Oct 2015 10:41:31 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message6494/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Пример можете привести? <br />
			<i>30.06.2015 14:58:07, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message6494/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message6494/topic511/</guid>
			<pubDate>Tue, 30 Jun 2015 14:58:07 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message6493/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			возможные варианты :<br /> - самостоятельно реализовать блокировку<br /> - складывать все в очередь и разбирать в отдельной корутине <br />
			<i>30.06.2015 14:36:01, Michael Bulychev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message6493/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message6493/topic511/</guid>
			<pubDate>Tue, 30 Jun 2015 14:36:01 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message6491/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			И как поступить, если необходима запись из main и из колбеков в один файл?<br />Вариант ставить флаг, когда производится запись в файл, не возможен, т.к. начиная с версии 6.17 QUIK зависает при вставке ожидающих циклов repeat until и while do в колбеках. <br />
			<i>30.06.2015 14:27:03, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message6491/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message6491/topic511/</guid>
			<pubDate>Tue, 30 Jun 2015 14:27:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message6487/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Вы получите мусор в файле при таком способе записи.<br />И многопоточность в Lua не наше изобретение. <br />
			<i>30.06.2015 10:32:26, Michael Bulychev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message6487/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message6487/topic511/</guid>
			<pubDate>Tue, 30 Jun 2015 10:32:26 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message6486/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_9Z3qEH8s" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> пишет: <br />Попробуйте поискать ответ в сообществе Lua<br /> <noindex><a href="http://www.lua.org/community.html" target="_blank" rel="nofollow">community</a></noindex><br /><br />=============<br />Но, насколько я понял, многопоточность в Lua - это ваше изобретение. Поэтому вряд ли в сообществе Lua могли обсуждаться подобные темы. <br />
			<i>30.06.2015 10:28:07, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message6486/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message6486/topic511/</guid>
			<pubDate>Tue, 30 Jun 2015 10:28:07 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message6484/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_MbcMJl3e" href="/user/114/" bx-tooltip-user-id="114">Дмитрий</a> пишет: <br />Уважаемые разработчики, ответьте на такой вопрос:<br />Является ли запись в файл значений того или иного набора переменных с помощью функции file:write() потокобезопасной?<br />Иными словами, если в один и тот же файл будет производиться запись в коллбэках (типа OnParam, OnTrade, OnQuote и т.п.), а также в функции main(), то не приведет ли это к каким-то нежелательным или непредсказуемым последствиям?<br /><br />=============<br />write не является нашей функцией, это стандартная функция Lua, поэтому, затруднимся дать однозначный ответ.<br />Попробуйте поискать ответ в сообществе Lua<br /><noindex><a href="http://www.lua.org/community.html" target="_blank" rel="nofollow">community</a></noindex> <br />
			<i>30.06.2015 10:07:44, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message6484/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message6484/topic511/</guid>
			<pubDate>Tue, 30 Jun 2015 10:07:44 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message6463/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Уважаемые разработчики, ответьте на такой вопрос:<br />Является ли запись в файл значений того или иного набора переменных с помощью функции file:write() потокобезопасной?<br />Иными словами, если в один и тот же файл будет производиться запись в коллбэках (типа OnParam, OnTrade, OnQuote и т.п.), а также в функции main(), то не приведет ли это к каким-то нежелательным или непредсказуемым последствиям? <br />
			<i>26.06.2015 22:23:02, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message6463/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message6463/topic511/</guid>
			<pubDate>Fri, 26 Jun 2015 22:23:02 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message5869/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			хочу привести реальный пример, из жизни. хоть он и несовсем по теме - но главное - суть:<br />есть 3D-движок CryEngine - от вполне себе современной и раскрученной игры. Причём, он тоже поддерживает LUA. Так вот: чуть покопавшись в его SDK и примерах скриптинга - я чот не нашёл там ни повального использования метатаблиц, ни корутин, ни потоков. Там есть развитая библиотека уже встроенных на уровне движка объектов (Entity). Чтобы наследовать какой-то объект или свойство от другого объекта - там не надо писать полушаманский код на метатаблицах - всё сделано на уровне домохозяек и школьников - хочешь наследовать - вызови пару функций и будет тебе счастье. Насчёт доступа ке глобальным переменным, во многих скриптовых движках - уже давно для этого используют классы, т.е. глобальная переменная - это - тоже класс, причём встроенный в сам движок. Пользователь - вообще в данном случае не думает ни о каких потоках и синхронизации - он просто дёргает методы и навешивает на эту глобальную переменную - события. Список можно бесконечно продолжать.<br />Хочется ещё раз спросить: для кого эта QLUA - затевалась? Кто целевая аудитория? Какие перспективы? Если всё - это для трейдеров - то это точно не для них, потому как разгребать за вами ваши же огрехи ценою своего счёта по причинам описанным выше - не хватит денег ни у кого. Если это для программистов - то программисты от него тоже - не в восторге. Им было бы куда проще и гибче писать на C++ и не быть ни в чём стеснёнными. Я не спорю, что сама по себе LUA - вполне себе достойный скриптовый язык. НО!!! Вы доведите её уже наконец, до ума, а не выпускайте на рынок вечно-сырой продукт. <br />
			<i>11.06.2015 15:52:04, sam063rus.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message5869/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message5869/topic511/</guid>
			<pubDate>Thu, 11 Jun 2015 15:52:04 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message5867/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			честно сказать, я уже и на майн и на потоки согласен НО! Дайте примеры достойные подражания? А то - документация - никакая, техподдержка, если почитать их сообщения со старого и этого форума и сопоставить (благо MySQL сейчас может пользоваться каждый) друг другу - противоречит, разработчики - привыкли ограничиваться лишь парой фраз. В итоге, как говорится, "вот вам qlua и (ну вы поняли...)". При этом, сотрудники компании ещё сильно обижаются, когда их упрекают в отсутствии знания собственного продукта. Видать, писать, что "проблема будет исправлена в следующей версии" в этой компании уже давно вошло в привычку за 15 лет. <br />
			<i>11.06.2015 15:36:10, sam063rus.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message5867/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message5867/topic511/</guid>
			<pubDate>Thu, 11 Jun 2015 15:36:10 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message5859/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_kPfrRNeW" href="/user/21/" bx-tooltip-user-id="21">Michael Bulychev</a> пишет: <br />Нет, просто нет такого механизма в Lua. за конкретным объектом должен следить сам пользователь.<br /><br />=============<br />Но в &nbsp;луа нет ни функций &nbsp;QLUA, <br />ни возможности создания функции main в отдельном потоке. - Это все сугубо ноу-хау QUIK.<br />Может быть,продолжая развитие данного направления, &nbsp;<br />сделать необходимые механизмы синхронизации потоков <br />для всех пользователей?<br />Я для себя кое-что сделал. <br />Но некоторые вопросы удобнее решить на стороне терминала . <br />
			<i>11.06.2015 14:21:54, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message5859/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message5859/topic511/</guid>
			<pubDate>Thu, 11 Jun 2015 14:21:54 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message5842/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			ну вот, опять убежал... <br />
			<i>11.06.2015 12:28:50, sam063rus.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message5842/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message5842/topic511/</guid>
			<pubDate>Thu, 11 Jun 2015 12:28:50 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message5841/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Я не спорю, наоборот соглашаюсь. Про это поведение мы уже рассказывали. <br />
			<i>11.06.2015 12:08:16, Michael Bulychev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message5841/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message5841/topic511/</guid>
			<pubDate>Thu, 11 Jun 2015 12:08:16 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message5840/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_UXg3M3XN" href="/user/21/" bx-tooltip-user-id="21">Michael Bulychev</a> пишет: <br />Согласитесь, что пример немного не жизненный?<br /><br />=============<br />Я что-то не понял, с чем вы спорите? Вы можете привести "жизненный пример", когда использование потокобезопасной функции в одном скрипте "никак не влияет" на другие скрипты? <br />
			<i>11.06.2015 12:04:52, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message5840/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message5840/topic511/</guid>
			<pubDate>Thu, 11 Jun 2015 12:04:52 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message5839/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<noindex><a href="https://forum.quik.ru/user/21/" target="_blank" rel="nofollow">Michael Bulychev</a></noindex>,<br />Прошу Вас, самым детальнейшим образом расписать, как устроено межскриптовое взаимодействие/влияние в QLUA -&gt; интересует:<br />1. порядок инициализации главной виртуальной машины - &gt; что после чего запускается, как и на каком этапе происходит цикл регистрации и опроса коллбеков.<br />2. Также прошу расписать в каких случаях создаётся новый lua-thread (имеется ввиду только в обычных скриптах.<br />3. (несовсем по теме, конечно, но... ) <br />	1. в какое место совать свою GUI-билиотеку? в основное тело скрипта, <br />	2. в майн <br />	3. или создавать для этого новый поток ОС и делать в нём свою message-loop бо как диспетчеризация сообщений квиковским главным потоком уже будет не досягаема? <br />
			<i>11.06.2015 11:59:35, sam063rus.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message5839/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message5839/topic511/</guid>
			<pubDate>Thu, 11 Jun 2015 11:59:35 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message5838/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Согласитесь, что пример немного не жизненный? <br />
			<i>11.06.2015 11:51:04, Michael Bulychev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message5838/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message5838/topic511/</guid>
			<pubDate>Thu, 11 Jun 2015 11:51:04 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message5837/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_4W2xTVfr" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> пишет: <br />Это говорит о том, что использование потокобезопасных функций оказывает влияние на все запущенные скрипты.<br /><br />=============<br />Независимо от потока, в котором они были вызваны. <br />
			<i>11.06.2015 11:42:35, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message5837/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message5837/topic511/</guid>
			<pubDate>Thu, 11 Jun 2015 11:42:35 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message5836/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_0rhfCLcG" href="/user/21/" bx-tooltip-user-id="21">Michael Bulychev</a> пишет: <br />Для чего мы завели такие функции и чего они позволяют избежать я уже объяснял. В Вашем примере использование ssort совершенно не к месту. Используйте просто sort.<br /><br />=============<br />Вы, наверное, не поняли: это псевдокод. Таким образом, я показал вам, что утверждение<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_9auG9B1l" href="/user/21/" bx-tooltip-user-id="21">Michael Bulychev</a> пишет: <br />На другие скрипты никак не влияет<br /><br />=============<br />не верно. Это говорит о том, что использование потокобезопасных функций оказывает влияние на <B>все</B> запущенные скрипты. <br />
			<i>11.06.2015 11:41:36, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message5836/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message5836/topic511/</guid>
			<pubDate>Thu, 11 Jun 2015 11:41:36 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message5834/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_F1j6gsin" href="/user/137/" bx-tooltip-user-id="137">sam063rus</a> пишет: <br />замените в скрипте №1 в майне sleep на равносильную задержку в виде цикла.<br /><br />=============<br />Пустого цикла? И? Терминал продолжает получать информацию с сервера, колбеки вызываются. <br />
			<i>11.06.2015 11:38:07, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message5834/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message5834/topic511/</guid>
			<pubDate>Thu, 11 Jun 2015 11:38:07 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message5833/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_QlexDr5O" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> пишет: <br />Какими? (Речь сейчас не идёт про длительную обработку колбека.)<br /><br />=============<br />Для чего мы завели такие функции и чего они позволяют избежать я уже объяснял. В Вашем примере использование ssort совершенно не к месту. Используйте просто sort. &nbsp; <br />
			<i>11.06.2015 11:37:06, Michael Bulychev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message5833/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message5833/topic511/</guid>
			<pubDate>Thu, 11 Jun 2015 11:37:06 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message5831/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			замените в скрипте №1 в майне sleep на равносильную задержку в виде цикла. <br />
			<i>11.06.2015 11:31:58, sam063rus.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message5831/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message5831/topic511/</guid>
			<pubDate>Thu, 11 Jun 2015 11:31:58 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message5830/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_g6rswWkb" href="/user/21/" bx-tooltip-user-id="21">Michael Bulychev</a> пишет: <br />этого мы и не скрывали никогда<br /><br />=============<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_2UnRXDfm" href="/user/21/" bx-tooltip-user-id="21">Michael Bulychev</a> пишет: <br />На другие скрипты никак не влияет<br /><br />=============<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_KL3QDmYy" href="/user/21/" bx-tooltip-user-id="21">Michael Bulychev</a> пишет: <br />Похожего эффекта можно достичь и другими способами<br /><br />=============<br />Какими? (Речь сейчас не идёт про длительную обработку колбека.) <br />
			<i>11.06.2015 11:25:20, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message5830/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message5830/topic511/</guid>
			<pubDate>Thu, 11 Jun 2015 11:25:20 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message5828/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Похожего эффекта можно достичь и другими способами, этого мы и не скрывали никогда. <br />
			<i>11.06.2015 11:21:56, Michael Bulychev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message5828/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message5828/topic511/</guid>
			<pubDate>Thu, 11 Jun 2015 11:21:56 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message5826/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			У меня такое ощущение, что это я вам рассказываю, как работает ваш программный продукт. Хотя наоборот было бы гораздо эффективней.<br /><br />Скрипт 1:<table class="forum-spoiler"><thead onclick="if (this.nextSibling.style.display=='none') { this.nextSibling.style.display=''; BX.addClass(this, 'forum-spoiler-head-open'); } else { this.nextSibling.style.display='none'; BX.removeClass(this, 'forum-spoiler-head-open'); } BX.onCustomEvent('BX.Forum.Spoiler:toggle', [{node: this}]); event.stopPropagation();"><tr><th><div>Скрытый текст</div></th></tr></thead><tbody class="forum-spoiler" style="display:none;"><tr><td>
====code====
<pre>local bRun, sTime = true
local sClassCode, sSecCode = "QJSIM", "SBER"
function main()
&nbsp;&nbsp;while bRun do
&nbsp;&nbsp;&nbsp;&nbsp;PrintDbgStr("main1")
&nbsp;&nbsp;&nbsp;&nbsp;sleep(1000)
&nbsp;&nbsp;end
end
function OnStop()
&nbsp;&nbsp;bRun = nil return 0
end
function OnParam(class_code, sec_code)
&nbsp;&nbsp;if not bRun then return end
&nbsp;&nbsp;if sec_code ~= sSecCode or class_code ~= sClassCode then return end
&nbsp;&nbsp;local Time = getParamEx(class_code, sec_code, 'TIME').param_image
&nbsp;&nbsp;if Time ~= sTime then
&nbsp;&nbsp;&nbsp;&nbsp;PrintDbgStr("1: "..Time)
&nbsp;&nbsp;&nbsp;&nbsp;sTime = Time
&nbsp;&nbsp;end
end</pre>
=============
</td></tr></tbody></table>Скрипт 2:<table class="forum-spoiler"><thead onclick="if (this.nextSibling.style.display=='none') { this.nextSibling.style.display=''; BX.addClass(this, 'forum-spoiler-head-open'); } else { this.nextSibling.style.display='none'; BX.removeClass(this, 'forum-spoiler-head-open'); } BX.onCustomEvent('BX.Forum.Spoiler:toggle', [{node: this}]); event.stopPropagation();"><tr><th><div>Скрытый текст</div></th></tr></thead><tbody class="forum-spoiler" style="display:none;"><tr><td>
====code====
<pre>local bRun, sTime
local sClassCode, sSecCode = "QJSIM", "SBER"

function main()
&nbsp;&nbsp;local t, n = {}, 5000000
&nbsp;&nbsp;for i = 1, n do t&#91;i&#93; = n - i end
&nbsp;&nbsp;PrintDbgStr("start")
&nbsp;&nbsp;bRun = true
&nbsp;&nbsp;table.ssort(t)
&nbsp;&nbsp;PrintDbgStr("end")
&nbsp;&nbsp;while bRun do sleep(100) end
end

function OnStop()
&nbsp;&nbsp;bRun = nil return 0
end
function OnParam(class_code, sec_code)
&nbsp;&nbsp;if not bRun then return end
&nbsp;&nbsp;if sec_code ~= sSecCode or class_code ~= sClassCode then return end
&nbsp;&nbsp;local Time = getParamEx(class_code, sec_code, 'TIME').param_image
&nbsp;&nbsp;if Time ~= sTime then
&nbsp;&nbsp;&nbsp;&nbsp;PrintDbgStr("2: "..Time)
&nbsp;&nbsp;&nbsp;&nbsp;sTime = Time
&nbsp;&nbsp;end
end</pre>
=============
</td></tr></tbody></table>Запускаем - делаем выводы. <br />
			<i>11.06.2015 11:16:31, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message5826/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message5826/topic511/</guid>
			<pubDate>Thu, 11 Jun 2015 11:16:31 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message5823/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Возможно. Давайте на примерах разбираться. <br />
			<i>11.06.2015 11:01:09, Michael Bulychev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message5823/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message5823/topic511/</guid>
			<pubDate>Thu, 11 Jun 2015 11:01:09 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message5822/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_YHehDDYN" href="/user/21/" bx-tooltip-user-id="21">Michael Bulychev</a>, мне кажется или вы потеряли основную мысль обсуждения?<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_OlEaPgj9" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> пишет: <br />С колбеками, вроде, понятно: если в колбеке одного скрипта вызывается потокобезопасная функция, то работа основного потока QUIK и дополнительного main этого скрипта "замораживается" на время выполнения функции.<br />А если <B>потокобезопасная функция вызывается в main</B>, окажет ли это влияние на потоки других скриптов?<br /><br />=============<br /> <br />
			<i>11.06.2015 10:58:42, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message5822/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message5822/topic511/</guid>
			<pubDate>Thu, 11 Jun 2015 10:58:42 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message5820/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Он и так "заморожен" при выполнении колбека. <br />
			<i>11.06.2015 10:46:06, Michael Bulychev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message5820/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message5820/topic511/</guid>
			<pubDate>Thu, 11 Jun 2015 10:46:06 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message5814/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_7TDDPRv2" href="/user/21/" bx-tooltip-user-id="21">Michael Bulychev</a> пишет: <br />На другие скрипты никак не влияет<br /><br />=============<br />Но пока выполняется потокобезопасная функция основной поток терминала "заморожен", информация с сервера не поступает, колбеки не вызываются. Это вы называете "никак не влияет"? <br />
			<i>11.06.2015 09:38:59, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message5814/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message5814/topic511/</guid>
			<pubDate>Thu, 11 Jun 2015 09:38:59 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message5812/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_lzSj7mhu" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> пишет: <br />С колбеками, вроде, понятно: если в колбеке одного скрипта вызывается потокобезопасная функция, то работа основного потока QUIK и дополнительного main этого скрипта "замораживается" на время выполнения функции.<br />А если потокобезопасная функция вызывается в main, окажет ли это влияние на потоки других скриптов?<br /><br />=============<br />На другие скрипты никак не влияет <br />
			<i>11.06.2015 04:01:56, Michael Bulychev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message5812/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message5812/topic511/</guid>
			<pubDate>Thu, 11 Jun 2015 04:01:56 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>ещё много много раз - потокобезопасные операции</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message5811/topic511/">ещё много много раз - потокобезопасные операции</a></b> <i>Потокобезопасность.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Добрый день.<br />Это нельзя сказать точно, тут, как говорится кто первый встал...<br />Важен другой момент - при обычном insert возможна ситуация когда элемент t&#91;1&#93; уже существует, но еще ничем не заполнен. То есть isert это функция в процессе выполнения которой блокировка может случаться и освобождаться неоднократно. При использовании sinsert такого не случится - если элемент t&#91;1&#93; существует (t&#91;1&#93; ~= nil), то и его содержимое уже корректно заполнено. <br />
			<i>11.06.2015 03:58:26, Michael Bulychev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message5811/topic511/</link>
			<guid>http://forum.quik.ru/messages/forum10/message5811/topic511/</guid>
			<pubDate>Thu, 11 Jun 2015 03:58:26 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
