- #include <iostream>
- #include <wx/thread.h>
- using namespace std;
- void fun()
- {
- for (int i=0; i!=50; ++i)
- {
- cout<<i<<" ";
- }
- }
- class MyThread : public wxThread
- {
- public:
- MyThread()
- {
- }
- MyThread(wxThreadKind tk, void(*pfun)()=0) : wxThread(tk)
- {
- p=pfun;
- }
- virtual ExitCode Entry()
- {
- if (p)
- {
- p();
- }
- return 0;
- }
- private:
- void (*p)();
- };
- int main()
- {
- MyThread *p = new MyThread(wxTHREAD_JOINABLE, fun);
- if (p->Create() == wxTHREAD_NO_ERROR )
- {
- cout<<"线程创建成功"<<endl;
- }
- if (p->Run() == wxTHREAD_NO_ERROR )
- {
- cout<<"线程运行成功"<<endl;
- }
- wxThread::Sleep(5000);
- p->Wait();
- return 0;
- }
以上是我测试wxWidgets的线程类时的小代码,编译链接都ok,但是运行时这样,折腾多次均没成功,不知道原因出在哪里呢? (google搜索了一下,TLS:线程局部存储Thread Local Storage)