<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: 快快樂樂學遊戲Threading程式設計</title>
	<atom:link href="http://blog.monkeypotion.net/gameprog/note/learning-threading-in-game-programming/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.monkeypotion.net/gameprog/note/learning-threading-in-game-programming</link>
	<description>遊戲開發‧遊戲程式‧遊戲設計</description>
	<lastBuildDate>Tue, 07 Sep 2010 11:33:03 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: 半路</title>
		<link>http://blog.monkeypotion.net/gameprog/note/learning-threading-in-game-programming/comment-page-1#comment-3035</link>
		<dc:creator>半路</dc:creator>
		<pubDate>Fri, 06 Nov 2009 02:50:05 +0000</pubDate>
		<guid isPermaLink="false">http://blog.monkeypotion.net/?p=149#comment-3035</guid>
		<description>@imoo msn機器人:
啊！這是《Beautiful Code》裡的其中一篇文章！

很有閱讀價值，感謝提供文章連結～ ：）</description>
		<content:encoded><![CDATA[<p>@imoo msn機器人:<br />
啊！這是《Beautiful Code》裡的其中一篇文章！</p>
<p>很有閱讀價值，感謝提供文章連結～ ：）</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: imoo msn機器人</title>
		<link>http://blog.monkeypotion.net/gameprog/note/learning-threading-in-game-programming/comment-page-1#comment-3026</link>
		<dc:creator>imoo msn機器人</dc:creator>
		<pubDate>Mon, 02 Nov 2009 02:15:39 +0000</pubDate>
		<guid isPermaLink="false">http://blog.monkeypotion.net/?p=149#comment-3026</guid>
		<description>這文章給各位參考
http://www-personal.umich.edu/~jkglenn/beautiful.pdf</description>
		<content:encoded><![CDATA[<p>這文章給各位參考<br />
<a href="http://www-personal.umich.edu/~jkglenn/beautiful.pdf" rel="nofollow">http://www-personal.umich.edu/~jkglenn/beautiful.pdf</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: 半路</title>
		<link>http://blog.monkeypotion.net/gameprog/note/learning-threading-in-game-programming/comment-page-1#comment-2532</link>
		<dc:creator>半路</dc:creator>
		<pubDate>Mon, 20 Jul 2009 07:04:18 +0000</pubDate>
		<guid isPermaLink="false">http://blog.monkeypotion.net/?p=149#comment-2532</guid>
		<description>@kama:
感謝你的回報。

看來 threadpool 只能用於業餘的實驗專案上了。缺乏更新與維護的開源專案，令人心痛哪……</description>
		<content:encoded><![CDATA[<p>@kama:<br />
感謝你的回報。</p>
<p>看來 threadpool 只能用於業餘的實驗專案上了。缺乏更新與維護的開源專案，令人心痛哪……</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kama</title>
		<link>http://blog.monkeypotion.net/gameprog/note/learning-threading-in-game-programming/comment-page-1#comment-2529</link>
		<dc:creator>kama</dc:creator>
		<pubDate>Fri, 17 Jul 2009 07:57:29 +0000</pubDate>
		<guid isPermaLink="false">http://blog.monkeypotion.net/?p=149#comment-2529</guid>
		<description>回18和19楼，我在使用threadPool的时候也出现内存泄漏的问题。。。
环境是Windows XP SP3 + VC90 + Boost1.3.8 + threadPool0.2.5
囧rz...</description>
		<content:encoded><![CDATA[<p>回18和19楼，我在使用threadPool的时候也出现内存泄漏的问题。。。<br />
环境是Windows XP SP3 + VC90 + Boost1.3.8 + threadPool0.2.5<br />
囧rz&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: 半路</title>
		<link>http://blog.monkeypotion.net/gameprog/note/learning-threading-in-game-programming/comment-page-1#comment-2396</link>
		<dc:creator>半路</dc:creator>
		<pubDate>Thu, 18 Jun 2009 05:43:11 +0000</pubDate>
		<guid isPermaLink="false">http://blog.monkeypotion.net/?p=149#comment-2396</guid>
		<description>@West:
你好，

原來 threadpool 有記憶體漏洞的問題啊... Orz

由於我只是將 threadpool 使用在工作之外的實驗專案上，所以沒有特別去注意記憶體的問題。目前我也只有看到這個 thread pool 的函式庫是 open source 的授權，很遺憾看起來原作者已經沒有繼續開發維護了。我想，應該可以參照 threadpool 源碼，以及 Boost.Thread 函式庫，自己寫個簡易版的 thread pool 系統吧！

謝謝你的回應。 ：）</description>
		<content:encoded><![CDATA[<p>@West:<br />
你好，</p>
<p>原來 threadpool 有記憶體漏洞的問題啊&#8230; Orz</p>
<p>由於我只是將 threadpool 使用在工作之外的實驗專案上，所以沒有特別去注意記憶體的問題。目前我也只有看到這個 thread pool 的函式庫是 open source 的授權，很遺憾看起來原作者已經沒有繼續開發維護了。我想，應該可以參照 threadpool 源碼，以及 Boost.Thread 函式庫，自己寫個簡易版的 thread pool 系統吧！</p>
<p>謝謝你的回應。 ：）</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: West</title>
		<link>http://blog.monkeypotion.net/gameprog/note/learning-threading-in-game-programming/comment-page-1#comment-2304</link>
		<dc:creator>West</dc:creator>
		<pubDate>Tue, 02 Jun 2009 07:35:41 +0000</pubDate>
		<guid isPermaLink="false">http://blog.monkeypotion.net/?p=149#comment-2304</guid>
		<description>您好，
文中提及以 Boost.Thread 為基礎的 threadpool 函式庫，在 Windows 平台上測試過後發現會有 Memory Leak 跟 Handle 沒關閉的問題。
看了一下原作者網頁一直停在 2007 年釋出的 0.2.5 版，之後就再也沒更新過了。
請問有其他推薦不錯的 threadpool 函式庫嗎？ :(

Boost 怎麼不出個 Boost.ThreadPool 呢，真是的...</description>
		<content:encoded><![CDATA[<p>您好，<br />
文中提及以 Boost.Thread 為基礎的 threadpool 函式庫，在 Windows 平台上測試過後發現會有 Memory Leak 跟 Handle 沒關閉的問題。<br />
看了一下原作者網頁一直停在 2007 年釋出的 0.2.5 版，之後就再也沒更新過了。<br />
請問有其他推薦不錯的 threadpool 函式庫嗎？ :(</p>
<p>Boost 怎麼不出個 Boost.ThreadPool 呢，真是的&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: 半路</title>
		<link>http://blog.monkeypotion.net/gameprog/note/learning-threading-in-game-programming/comment-page-1#comment-2266</link>
		<dc:creator>半路</dc:creator>
		<pubDate>Thu, 14 May 2009 15:48:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.monkeypotion.net/?p=149#comment-2266</guid>
		<description>@Shark, Hua &amp; Wallace:
這裡我僅就 Threading 於「遊戲程式」的應用層面，提出一些我的看法：

就我所知，以前的多執行緒系統，的確是多半用於解決 I/O 阻塞的問題。因為以前的 CPU 只有單個核心，如果將遊戲系統分成多個執行緒，目的通常在於提供更好的反應性 (responsiveness)，而不是為了得到提升效能 (performance) 的成果。

然而，當現在多核心 CPU（甚至 GPU）已成為必然之路時，我們確實能夠利用多核硬體的威力進一步提升遊戲系統的效能，或者加入更複雜真實的模擬運算，例如人工智慧或物理引擎等等。

理想中，在多核心的系統架構下，我們可以將主程式的運作流程分配在一個核心，繪圖運算交給另一個核心、物理運算交給第三個核心、人工智慧運算再交給第四個核心等等以此類推。但是現實世界總無法過得如此輕鬆寫意。光是要處理核心與核心之間的資料交換與資料同步程序，就會使得原來簡明的程式碼架構，變得非常龐大交錯。

C/C++ 是屬於一種命令式 (imperative) 的程式語言，並不是不能夠用來撰寫多執行緒的程式系統，但是如 C/C++ 般以程序為基礎 (procedural-based)，依序執行的結構式程式語言，與多執行緒「平行並進」的自然法則實在有所違背。就我目前的經驗來說，當多執行緒程式系統越趨於複雜，使用 C/C++ 只會越顯吃力不討好。目前我還沒有機會接觸 Erlang，但我不會排斥它，或許某天，真的能夠將 Erlang 運用於遊戲程式系統中呢。

應用 Threading 於遊戲程式的潛在問題及有待解決的議題，在本文連結中的投影片和推薦文章都有更詳盡的闡述，不妨參考看看～

謝謝三位的分享及討論。 ^^</description>
		<content:encoded><![CDATA[<p>@Shark, Hua &amp; Wallace:<br />
這裡我僅就 Threading 於「遊戲程式」的應用層面，提出一些我的看法：</p>
<p>就我所知，以前的多執行緒系統，的確是多半用於解決 I/O 阻塞的問題。因為以前的 CPU 只有單個核心，如果將遊戲系統分成多個執行緒，目的通常在於提供更好的反應性 (responsiveness)，而不是為了得到提升效能 (performance) 的成果。</p>
<p>然而，當現在多核心 CPU（甚至 GPU）已成為必然之路時，我們確實能夠利用多核硬體的威力進一步提升遊戲系統的效能，或者加入更複雜真實的模擬運算，例如人工智慧或物理引擎等等。</p>
<p>理想中，在多核心的系統架構下，我們可以將主程式的運作流程分配在一個核心，繪圖運算交給另一個核心、物理運算交給第三個核心、人工智慧運算再交給第四個核心等等以此類推。但是現實世界總無法過得如此輕鬆寫意。光是要處理核心與核心之間的資料交換與資料同步程序，就會使得原來簡明的程式碼架構，變得非常龐大交錯。</p>
<p>C/C++ 是屬於一種命令式 (imperative) 的程式語言，並不是不能夠用來撰寫多執行緒的程式系統，但是如 C/C++ 般以程序為基礎 (procedural-based)，依序執行的結構式程式語言，與多執行緒「平行並進」的自然法則實在有所違背。就我目前的經驗來說，當多執行緒程式系統越趨於複雜，使用 C/C++ 只會越顯吃力不討好。目前我還沒有機會接觸 Erlang，但我不會排斥它，或許某天，真的能夠將 Erlang 運用於遊戲程式系統中呢。</p>
<p>應用 Threading 於遊戲程式的潛在問題及有待解決的議題，在本文連結中的投影片和推薦文章都有更詳盡的闡述，不妨參考看看～</p>
<p>謝謝三位的分享及討論。 ^^</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wallace</title>
		<link>http://blog.monkeypotion.net/gameprog/note/learning-threading-in-game-programming/comment-page-1#comment-2265</link>
		<dc:creator>Wallace</dc:creator>
		<pubDate>Thu, 14 May 2009 15:24:38 +0000</pubDate>
		<guid isPermaLink="false">http://blog.monkeypotion.net/?p=149#comment-2265</guid>
		<description>我也是有研究一下Erlang。用它來架伺服器有一個別的語言無法做到的特性：程式熱抽換。
也就是說當別的語言做的遊戲伺服器因要升級或加入新的關卡，需要停機時。Erlang做的遊戲伺服器是不需要停機就可以做更新。
不用因停機將正在玩的使用者&quot;踢出來&quot;，這件事本身就有市場。而傳統語言不好做，那就是新語言會存在的地方。
伺服器本身就是multi threading最好表現的地方。所以可以看看架伺服器用的語言，都是支援multi threading。
我想未來遊戲伺服器也會是遊戲發展重點之一，故multi threading是很重要的技術。</description>
		<content:encoded><![CDATA[<p>我也是有研究一下Erlang。用它來架伺服器有一個別的語言無法做到的特性：程式熱抽換。<br />
也就是說當別的語言做的遊戲伺服器因要升級或加入新的關卡，需要停機時。Erlang做的遊戲伺服器是不需要停機就可以做更新。<br />
不用因停機將正在玩的使用者&#8221;踢出來&#8221;，這件事本身就有市場。而傳統語言不好做，那就是新語言會存在的地方。<br />
伺服器本身就是multi threading最好表現的地方。所以可以看看架伺服器用的語言，都是支援multi threading。<br />
我想未來遊戲伺服器也會是遊戲發展重點之一，故multi threading是很重要的技術。</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hua</title>
		<link>http://blog.monkeypotion.net/gameprog/note/learning-threading-in-game-programming/comment-page-1#comment-2263</link>
		<dc:creator>Hua</dc:creator>
		<pubDate>Wed, 13 May 2009 07:31:51 +0000</pubDate>
		<guid isPermaLink="false">http://blog.monkeypotion.net/?p=149#comment-2263</guid>
		<description>更正, ”Erlang設計的CPU”應該是可能的, 即是在cpu架構下加入Erlang(VM)解譯加速器.</description>
		<content:encoded><![CDATA[<p>更正, ”Erlang設計的CPU”應該是可能的, 即是在cpu架構下加入Erlang(VM)解譯加速器.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hua</title>
		<link>http://blog.monkeypotion.net/gameprog/note/learning-threading-in-game-programming/comment-page-1#comment-2262</link>
		<dc:creator>Hua</dc:creator>
		<pubDate>Wed, 13 May 2009 07:01:41 +0000</pubDate>
		<guid isPermaLink="false">http://blog.monkeypotion.net/?p=149#comment-2262</guid>
		<description>To Shark:

&quot;我用C API做multi threading沒碰過什麼困難，不太了解別人會遇到什麼問題&quot;, 這可能要請半路大大分享一下他遇到了什麼問題-&quot;使用 C/C++ 語言來撰寫平行處理的程式系統，其實是一件非常辛苦且易於出錯的事情&quot;. 每個人遇到的問題不同, 感受到的難度也不相同.

關於&quot;Erlang的實用價值&quot;, 我想它在&quot;處理blocking IO&quot;應該是英雄無用武之地, 你可以在google搜尋&quot;Erlang 多核&quot;, 應該可以感受到它在多核上的價值. (雖然我覺得它著重在程式語言的表達能力上, 而不是多緒在多核上, 更有效率的排程)
至於&quot;Erlang設計的CPU&quot;? Java/Perl/Python/Erlang都是基於VM上的語言, 將VM實做成cpu不會是個好點子.</description>
		<content:encoded><![CDATA[<p>To Shark:</p>
<p>&#8220;我用C API做multi threading沒碰過什麼困難，不太了解別人會遇到什麼問題&#8221;, 這可能要請半路大大分享一下他遇到了什麼問題-&#8221;使用 C/C++ 語言來撰寫平行處理的程式系統，其實是一件非常辛苦且易於出錯的事情&#8221;. 每個人遇到的問題不同, 感受到的難度也不相同.</p>
<p>關於&#8221;Erlang的實用價值&#8221;, 我想它在&#8221;處理blocking IO&#8221;應該是英雄無用武之地, 你可以在google搜尋&#8221;Erlang 多核&#8221;, 應該可以感受到它在多核上的價值. (雖然我覺得它著重在程式語言的表達能力上, 而不是多緒在多核上, 更有效率的排程)<br />
至於&#8221;Erlang設計的CPU&#8221;? Java/Perl/Python/Erlang都是基於VM上的語言, 將VM實做成cpu不會是個好點子.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
