マルチスレッド
HSPでマルチスレッドを実装します。実用性には耐えがたいものですので、こういうのもあるんだなぁ~の感覚で読んで頂けるとうれしいです。
最終更新:2017/11/19
初版:2017/11/19
HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId );lpThreadAttributes には、セキュリティ属性構造体へのポインタを指定しますが、NULLでかまいません。
値 | 意味 |
---|---|
0(0x00000000) | スレッド作成と同時にそのスレッドを実行します |
CREATE_SUSPENDED(0x00000004) | スレッドは中断された状態で作成されます。ResumeThread 関数を呼び出すまで動作しません。 |
#include "hscallbk.as" #include "user32.as" #include "kernel32.as" #uselib "" #func MyThreadProc "" int setcallbk cMyThreadProc1, MyThreadProc, *MyThreadProc1 setcallbk cMyThreadProc2, MyThreadProc, *MyThreadProc2 mes "スレッド1作成した。" CreateThread 0, 0, varptr(cMyThreadProc1), hwnd, 0, 0//サブスレッド1作成 mes "スレッド1作成関数終わった。" mes "スレッド2作成した。" CreateThread 0, 0, varptr(cMyThreadProc2), hwnd, 0, 0//サブスレッド2作成 mes "スレッド2作成関数終わった。" stop *MyThreadProc1//サブスレッド1 vdParam=callbkarg(0) MessageBox vdParam, "サブスレッド1", "hoge", 0x10 return *MyThreadProc2//サブスレッド2 vdParam=callbkarg(0) MessageBox vdParam, "サブスレッド2", "hoge", 0x10 return
(C)2019 inonote / 無断転載禁止