多线程
dreamcs
lnsjc321@126.com
展开
-
Hello Thread
新建10个线程 打印hello thread n #include #include using namespace std; DWORD WINAPI PrintHello(LPVOID n); //新建10个线程 打印hello thread n int main() { DWORD threadId; for(int i=1;i<11; ++i) { Create原创 2012-08-30 20:23:52 · 699 阅读 · 0 评论 -
CreateEvent例子
#include #include #include #include using namespace std; //通过事件得知另一个线程的内部状态 //例:线程内部有三种状态:起床 吃饭 上班 HANDLE getupHandle; HANDLE breakfastHandle; HANDLE workHandle; vector stateTexts; DWORD WINAPI原创 2012-08-31 09:53:45 · 2747 阅读 · 0 评论 -
多线程例子_幂计算而后求和
功能:创建SIZE个线程,每个线程执行幂计算函数,然后求和。 #include #include using namespace std; DWORD WINAPI Power(LPVOID n); #define SIZE 10 int main() { DWORD threadId; HANDLE handles[SIZE]; DWORD exitCode[SIZE]; fo原创 2012-08-30 21:31:52 · 774 阅读 · 0 评论 -
向线程发送消息
class GLThread { public: GLThread(); ~GLThread(); void Run(); HANDLE GetHandle(); DWORD GetThreadID(); protected: static unsigned int __stdcall ThreadFunc(LPVOID thisObj); protected: HANDLE mTh原创 2012-09-04 13:57:47 · 1764 阅读 · 0 评论 -
使用Mutex对象
http://msdn.microsoft.com/en-us/library/windows/desktop/ms686927(v=vs.85).aspx 当多线程或多进程同时访问共享资源时,你可以使用mutex对象保护它们。在可以访问共享资源之前,每个线程必须等待,来获得mutex。例如,如果几个线程访问数据库,线程可以使用mutex对象,使得同时只有一个线程可以写数据库。翻译 2012-09-04 09:56:13 · 849 阅读 · 0 评论 -
OpenGL多线程项目开发教训集合
记录在实际项目中遇到的问题 1、线程不要自己给自己发消息。否则程序会挂掉。 2、不能在不同线程中创建子窗体。即父窗体在A线程,而子窗体在B线程。 3、如何在一个线程中使用另一个线程创建的VBO?我试了一下,没成功。 4.往往莫名其妙的崩溃是因为使用opengl函数不当造成的。原创 2012-09-05 11:05:39 · 1728 阅读 · 0 评论 -
临界区例子及相关函数翻译
例子:记录线程调用顺序 #include #include #include using namespace std; #define THREADCOUNT 9 CRITICAL_SECTION testCS; DWORD WINAPI ThreadFunc( LPVOID ); std::vector orderVec; //记录线程调用顺序 int main( void )原创 2012-09-06 16:19:54 · 3300 阅读 · 0 评论 -
多线程例子_InterlockedExchangeAdd
参考《windows核心编程》(第5版) 有问题的代码 #include #include using namespace std; long g_x = 0; DWORD WINAPI ThreadFunc(LPVOID); #define MaxCount 20 int main( void ) { DWORD threadId; HANDLE threadHandl原创 2012-09-10 17:04:27 · 3757 阅读 · 0 评论 -
Linux C编程(5) 线程同步实例
#include #include #include pthread_mutex_t mutlock; pthread_cond_t condt; bool bIsOver = true; void Init() { pthread_mutex_init(&mutlock,NULL); pthread_cond_init(&condt,NULL); bIsOver = true; }原创 2013-09-12 10:42:49 · 1019 阅读 · 0 评论