<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[QUIK -> DDE &mdash; Межпоточная синхронизация во внешних dll для QLua]]></title>
	<link rel="self" href="https://quik2dde.ru/extern.php?action=feed&amp;tid=60&amp;type=atom" />
	<updated>2013-07-09T02:07:02Z</updated>
	<generator>PunBB</generator>
	<id>https://quik2dde.ru/viewtopic.php?id=60</id>
		<entry>
			<title type="html"><![CDATA[Re: Межпоточная синхронизация во внешних dll для QLua]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=380#p380" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>swerg пишет:</cite><blockquote><p>Это так? проводил ли кто-то эксперименты?</p></blockquote></div><p>Это так. Встроенная в qlua cинхронизация обеспечивает консистентность данных только в виртуальной машине Lua.</p>]]></content>
			<author>
				<name><![CDATA[mbul]]></name>
				<uri>https://quik2dde.ru/profile.php?id=89</uri>
			</author>
			<updated>2013-07-09T02:07:02Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=380#p380</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Межпоточная синхронизация во внешних dll для QLua]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=379#p379" />
			<content type="html"><![CDATA[<p>Известно, что основной код скрипта и вызовы call-back&#039;ов происходят в одном потоке, а работа функции main() - в другом потоке.<br />При написании DLL хотелось бы это грамотно учитывать.<br />Предлагаю обсудить тему межпоточной синхронизации в коде DLL подключаемых к QLua.</p><p><strong>Условие</strong>: для своей DLL я использую qlua.dll, т.е. прилинковываю ее вызовы на этапе сборки через подключение <strong>qlua.lib</strong>.</p><p>Вопрос: если одна и таже реализованная в DLL функция вызывается одновременно из main() и какого-то call-back&#039;а, то как правильно рабоать с глобальными переменными/данными?</p><p>Я понимаю так:<br />- если я работаю с глобальными переменными самой Lua в С++ коде&nbsp; - то никаких дополниельных действий не нужно, т.к. вся работа идет в qlua.dll, где все засинхронизировано.<br />- если я работаю с какой-то своей глобальной памятью внутри самой DLL-ки помимо Lua-стека - то обязан обеспечивать межпоточную синхронизацию обращения к таким данным самостоятельно.</p><p>Это так? проводил ли кто-то эксперименты?</p>]]></content>
			<author>
				<name><![CDATA[swerg]]></name>
				<uri>https://quik2dde.ru/profile.php?id=78</uri>
			</author>
			<updated>2013-07-06T03:18:38Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=379#p379</id>
		</entry>
</feed>
