Programming for multi-core CPU

請問有無d咩Programming language 係 for multi-core CPU, 可以同時用幾個 core.thx.

We have CreateThread (Win 32API function) or _beginthread (C Run-Time function) to implement multi-threading programming...

TOP

原帖由 TKY 於 2009-10-23 21:43 發表
We have CreateThread (Win 32API function) or _beginthread (C Run-Time function) to implement multi-threading programming...

"CreateThread (Win 32API function)"VB6 could use or not? and any other better alternative? thx.

TOP

java 7.0( still in milestone)

TOP

你應該學到點寫multi-threading先. 點寫既意思係設計上係點. 學好之後你自然唔會問你而家既問題.

你要學既包括有資料分享, 工作分配, 資源分配, 會唔會有dead lock/race condition, 處理完既資料提交去邊, 其他class係唔係thread-safe等等. 如果有好多thread又開又完, 仲要有個好robust好完善既管理否則日後會非常難搞. 一個專業用多thread既處理中心(server)對初學者有一定難度. 但係如果好簡單的話, 好多問題唔會存在.

你既問題既答案係, 用既語言根本唔太重要, 因為好多語言既multi-threading都好好, 唔成熟既係用者, 所以你擔心自身問題好過. 我本身用過C++同Python分別寫過最多32 threads既專業用video encoder. Languages本身一D問題都無, 無發覺有任何bug.
Multi-threading 係非常之有用. 你應該好好學. 寫多D就會有心得. Multi-threading本身唔算係複雜野. 學得好先可以寫到一D大型複雜系統.

另外, 聽過 Intel 好似話想開發一隻programming language, 令用佢D multi-core processor用得方便d咁話 (好賣d), 詳情我無咩興趣所以唔知. 我唔主張用特別language去做 multi-threading, 咁只會令你唔識multi-threading其實係乜.

TOP

原帖由 無忌 於 2009-10-24 08:40 發表
你應該學到點寫multi-threading先. 點寫既意思係設計上係點. 學好之後你自然唔會問你而家既問題.

你要學既包括有資料分享, 工作分配, 資源分配, 會唔會有dead lock/race condition, 處理完既資料提交去邊, 其他clas ...

yes, you are right! but we need a good and some how easier starting point.

TOP

我係寫Java既,從來都唔會理會platform有幾多個core,但係好多時都會寫multi-threading app,由JVM / OS去自己分配thread 到core。只要你既threading 寫得啱,single core / multi-core其實都係一樣,都可以fully utilize all cores。

如果樓主想學寫multi-thread,樣樣比較common既language都學到,難度... 只是那隻language比較易學罷了。
個人經驗,學Programming on Windows API唔係咁好,因為Windows OS自己自動create thread去行你既program,反而學唔到基本thread create / terminate / interactive 既關係

TOP

回覆 7# 的帖子

Flash actionscript 好common
但係actionscript冇thread...

TOP

原帖由 無忌 於 2009-10-24 08:40 發表
另外, 聽過 Intel 好似話想開發一隻programming language, 令用佢D multi-core processor用得方便d咁話 (好賣d), 詳情我無咩興趣所以唔知. 我唔主張用特別language去做 multi-threading, 咁只會令你唔識multi-threading其實係乜.

openMP?

TOP

原帖由 無忌 於 2009-10-24 08:40 發表
你應該學到點寫multi-threading先. 點寫既意思係設計上係點. 學好之後你自然唔會問你而家既問題.

你要學既包括有資料分享, 工作分配, 資源分配, 會唔會有dead lock/race condition, 處理完既資料提交去邊, 其他clas ...

想請問點去定用幾多條thread 先系最optimal?除左不停試...

TOP