zthread導入メモ Edit

なぜzthread? Edit

SDLのスレッドでは機能不足なので
クロスプラットフォームでよさげなzthreadを採用。

VCでビルド Edit

src以下のcxxファイルをコンパイルするだけでおっけい。
もちろん、includeにパスははりましょう。
一カ所、通らなかったので修正。
src/win32/ThreadOps.cxx

HINSTANCE hInst = ::GetModuleHandle("Kernel32.dll");

HINSTANCE hInst = ::GetModuleHandle(L"Kernel32.dll");

に。

XCodeでビルド Edit

やっぱりsrc以下のcxxファイルをコンパイルするだけでおっけい。
もちろん、includeにパスははりましょう。

バグ修正 Edit

ThreadQueueのデストラクトでTTSクラスにアクセスするんだけど、
両方とも無名空間の変数らしく、デストラクトの順番が不定。
で、TTSが先にデストラクトされてからThreadQueueのデストラクトが呼ばれて死んでしまう。
ので、デストラクトの順番が一定になるように修正。(r251)

感想 Edit

久しぶりにすばらしいライブラリに出会えた気がする。
ドキュメント、サンプルコード、コードの可読性、どれにおいても100点満点に近い。
Runnnableをdeleteするところだけいただけなかったかなぁ。
そういうポリシーならしょうがないけど。

後日談 Edit

ちょっとバグが多い気がする。信用できなくなってきた…。
ので,pthreadsを使うように変更しました。


リロード   新規 下位ページ作成 編集 凍結 差分 添付 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Mon, 01 Sep 2008 02:03:50 JST (5710d)