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を使うように変更しました。


Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes
Last-modified: (5203d)