多线程
dreamcs
-
Hello Thread
新建10个线程 打印hello thread n#include #include using namespace std;DWORD WINAPI PrintHello(LPVOID n);//新建10个线程 打印hello thread nint main(){ DWORD threadId; for(int i=1;i<11; ++i) { Create原创 2012-08-30 20:23:52 · 688 阅读 · 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 · 2730 阅读 · 0 评论 -
多线程例子_幂计算而后求和
功能:创建SIZE个线程,每个线程执行幂计算函数,然后求和。#include #include using namespace std;DWORD WINAPI Power(LPVOID n);#define SIZE 10int main(){ DWORD threadId; HANDLE handles[SIZE]; DWORD exitCode[SIZE]; fo原创 2012-08-30 21:31:52 · 761 阅读 · 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 · 1748 阅读 · 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 · 832 阅读 · 0 评论 -
OpenGL多线程项目开发教训集合
记录在实际项目中遇到的问题1、线程不要自己给自己发消息。否则程序会挂掉。2、不能在不同线程中创建子窗体。即父窗体在A线程,而子窗体在B线程。3、如何在一个线程中使用另一个线程创建的VBO?我试了一下,没成功。4.往往莫名其妙的崩溃是因为使用opengl函数不当造成的。原创 2012-09-05 11:05:39 · 1710 阅读 · 0 评论 -
临界区例子及相关函数翻译
例子:记录线程调用顺序#include #include #include using namespace std;#define THREADCOUNT 9CRITICAL_SECTION testCS;DWORD WINAPI ThreadFunc( LPVOID );std::vector orderVec;//记录线程调用顺序int main( void )原创 2012-09-06 16:19:54 · 3278 阅读 · 0 评论 -
多线程例子_InterlockedExchangeAdd
参考《windows核心编程》(第5版)有问题的代码#include #include using namespace std;long g_x = 0;DWORD WINAPI ThreadFunc(LPVOID);#define MaxCount 20int main( void ){ DWORD threadId; HANDLE threadHandl原创 2012-09-10 17:04:27 · 3741 阅读 · 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 · 1004 阅读 · 0 评论