<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: про нити - хуки против таймеров]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=10071</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=10071&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: про нити - хуки против таймеров».]]></description>
		<lastBuildDate>Mon, 27 Oct 2014 21:08:15 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: про нити - хуки против таймеров]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=87793#p87793</link>
			<description><![CDATA[<div class="quotebox"><cite>Drugoy пишет:</cite><blockquote><p>Иногда во 2-ой вкладке, где в реальном времени отслеживаются процессы - всё-таки происходят какие-то коллизии и мёртвые скрипты остаются в списке.<br />А ещё на 1-ой вкладке происходят глюки с иконками, но это уже к производительности/надёжности самого AHK, а не к вопросу про нити.</p></blockquote></div><p>Ради интереса написал подобный скрипт, всё работает нормально. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Mon, 27 Oct 2014 21:08:15 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=87793#p87793</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: про нити - хуки против таймеров]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=87791#p87791</link>
			<description><![CDATA[<p><a href="http://forum.script-coding.com/viewtopic.php?pid=87779#p87779">Сегодня тоже обсуждали.</a></p><p>В качестве досужих раздумий: <br />Перед запуском таймера записывать события в массив, например в ключ A_TickCount, и уже после его обработки - удалять этот ключ.</p><p>Цикл For K, V in Arr сам отсортирует от ранних до последних (это про ключ A_TickCount).</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Mon, 27 Oct 2014 20:18:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=87791#p87791</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: про нити - хуки против таймеров]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=87788#p87788</link>
			<description><![CDATA[<p>Похоже, что коллизии всё-таки возникают.<br /><a href="https://github.com/Drugoy/Autohotkey-scripts-.ahk/blob/master/ScriptManager.ahk/MasterScript.ahk">Скрипт</a> + <a href="https://github.com/Drugoy/Autohotkey-scripts-.ahk/blob/master/ScriptManager.ahk/MasterScript_settings.ini">образец настроек</a> к нему.<br />Иногда во 2-ой вкладке, где в реальном времени отслеживаются процессы - всё-таки происходят какие-то коллизии и мёртвые скрипты остаются в списке.<br />А ещё на 1-ой вкладке происходят глюки с иконками, но это уже к производительности/надёжности самого AHK, а не к вопросу про нити.</p>]]></description>
			<author><![CDATA[null@example.com (Drugoy)]]></author>
			<pubDate>Mon, 27 Oct 2014 19:51:29 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=87788#p87788</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: про нити - хуки против таймеров]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=87730#p87730</link>
			<description><![CDATA[<p>До сих пор не слышал, чтобы потоки называли нитями. Однако, в <a href="https://ru.wikipedia.org/wiki/%CC%ED%EE%E3%EE%EF%EE%F2%EE%F7%ED%EE%F1%F2%FC">Wikipedia</a> даже по этому поводу есть примечание.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Sat, 25 Oct 2014 16:54:22 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=87730#p87730</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: про нити - хуки против таймеров]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=87715#p87715</link>
			<description><![CDATA[<div class="quotebox"><cite>ypppu пишет:</cite><blockquote><p>Что значит слово &quot;нити&quot; в названии темы?</p></blockquote></div><p><strong>ypppu</strong>, по ходу threads - потоки. Иногда их называют - нити.</p>]]></description>
			<author><![CDATA[null@example.com (Xameleon)]]></author>
			<pubDate>Sat, 25 Oct 2014 14:11:59 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=87715#p87715</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: про нити - хуки против таймеров]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=87714#p87714</link>
			<description><![CDATA[<p>Что значит слово &quot;нити&quot; в названии темы?</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Sat, 25 Oct 2014 11:44:53 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=87714#p87714</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: про нити - хуки против таймеров]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=87712#p87712</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>таймер останавливается, если открыто контекстное меню</p></blockquote></div><p>Насколько помню, такое ещё происходит при перетаскивании за заголовок GUI скрипта.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sat, 25 Oct 2014 07:31:06 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=87712#p87712</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: про нити - хуки против таймеров]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=87709#p87709</link>
			<description><![CDATA[<div class="quotebox"><cite>Drugoy пишет:</cite><blockquote><p>Проверил, но ничего не понял. Вроде коллизий нет, но не уверен, что они невозможны.</p></blockquote></div><p>Что вы называете коллизиями?</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Sat, 25 Oct 2014 01:40:31 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=87709#p87709</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: про нити - хуки против таймеров]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=87705#p87705</link>
			<description><![CDATA[<div class="quotebox"><cite>Drugoy пишет:</cite><blockquote><p>Какое-то очень не очевидное поведение и которое, похоже, нельзя побороть.</p></blockquote></div><p>Как раз очевидное, <a href="http://ahkscript.org/docs/commands/SetTimer.htm#Precision">SetTimer</a>:<br /></p><div class="quotebox"><blockquote><p>Although timers will operate when the script is suspended, they will not run if the current thread has &quot;Thread NoTimers&quot; in effect or whenever any thread is paused. In addition, <strong>they do not operate when the user is navigating through one of the script&#039;s menus</strong> (such as the <strong>tray icon menu</strong> or a menu bar).</p></blockquote></div><p><a href="http://ahkscript.org/docs/commands/OnMessage.htm#Remarks">И ещё</a>:<br /></p><div class="quotebox"><blockquote><p>If a monitored message that is numerically less than 0x312 arrives while <strong>the script is absolutely uninterruptible</strong> -- such as <strong>while a menu is displayed</strong>...</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Fri, 24 Oct 2014 18:42:38 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=87705#p87705</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: про нити - хуки против таймеров]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=87702#p87702</link>
			<description><![CDATA[<p>Проверил, но ничего не понял. Вроде коллизий нет, но не уверен, что они невозможны.</p><p>И ещё: таймер останавливается, если открыто контекстное меню у иконки скрипта в трее. Какое-то очень не очевидное поведение и которое, похоже, нельзя побороть.</p>]]></description>
			<author><![CDATA[null@example.com (Drugoy)]]></author>
			<pubDate>Fri, 24 Oct 2014 17:34:46 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=87702#p87702</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: про нити - хуки против таймеров]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=87624#p87624</link>
			<description><![CDATA[<p>А вы проверьте. Делов-то на 5 минут.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Tue, 21 Oct 2014 12:10:52 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=87624#p87624</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: про нити - хуки против таймеров]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=87621#p87621</link>
			<description><![CDATA[<p>То же и с рутиной таймера? Если я выставил слишком мелкий период между таймерами, последующий будет прерывать предыдущий?</p><p>Всегда ли новый поток прерывает старый? Т.е. может такое случиться, что и таймер так попадёт по времени, что может перебить выполнение действий из хука?</p>]]></description>
			<author><![CDATA[null@example.com (Drugoy)]]></author>
			<pubDate>Tue, 21 Oct 2014 11:49:36 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=87621#p87621</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: про нити - хуки против таймеров]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=87618#p87618</link>
			<description><![CDATA[<p>Новый поток прерывает старый на время, пока сам выполняется. Потом старый будет продолжен.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Tue, 21 Oct 2014 09:49:56 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=87618#p87618</guid>
		</item>
		<item>
			<title><![CDATA[AHK: про нити - хуки против таймеров]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=87612#p87612</link>
			<description><![CDATA[<p>Вопросы про таймеры я начал задавать <a href="http://forum.script-coding.com/viewtopic.php?id=8785&amp;p=2">здесь</a>, но возникли ещё вопросы про это, а там это оффтопик.</p><p>Итак вопрос по поводу прерываний:<br />Есть у меня в скрипте 3 хука: один следит за появлением новых процессов, второй за смертью процессов, а третий за появлением/исчезанием новых дисков.</p><p>При каждом из этих событий требуется выполнить определённый объём вычислений, обновить содержимое массивов и перелопатить их после этого, выполняя определённые действия с каждой вещью из массива.</p><p>Т.к.<br />а). мне было сказано, что выполнять обработку внутри функции хука это не комильфо, и что надо бы обработку вынести в таймер;<br />б). похоже, что хуком следить за состоянием других процессов и других скриптов нельзя</p><p>То возник главный вопрос:<br />Если я обработку всех этих событий переложу на таймер, то как он поведёт себя, в случае если пока выполняется его рутина - возникнет какое-то новое событие, которое отловит хук и после которого надо либо дождаться завершения текущей обработки по таймеру, либо отменить её и начать обработку заново? перервёт ли хук рутину таймера?</p>]]></description>
			<author><![CDATA[null@example.com (Drugoy)]]></author>
			<pubDate>Tue, 21 Oct 2014 09:19:19 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=87612#p87612</guid>
		</item>
	</channel>
</rss>
