读书人

要写一个可移植的代码库但是多线程的

发布时间: 2012-02-25 10:01:49 作者: rapoo

要写一个可移植的代码库,但是多线程的移植不知道怎么处理
要写一个可移植的代码库,但是多线程的移植不知道怎么处理

应该是一个比较常见的问题,但是多线程开发的少还是没有经验,由于代码库可能应用范围比较广(嵌入式的系统有很多不只linux。。。),所以希望多线程这部分能写的尽量与平台无关一些,或者移植起来比较方便,希望能有一个比较轻量级的多线程库,不知道有没有好的办法,谢谢大家

[解决办法]
pthread够轻量了吧

windows下的pthread-win32不能够模拟Linux的所有pthread线程函数,不过也够用了,可以使用winpthreads替代,模拟的情形覆盖较多,但后者无法使用vc编译
[解决办法]
boost
[解决办法]

C/C++ code
#ifdef WIN32void Lock(CRITICAL_SECTION *l) {    EnterCriticalSection(l);}void Unlock(CRITICAL_SECTION *l) {    LeaveCriticalSection(l);}#elsevoid Lock(CRITICAL_SECTION *l) {    pthread_mutex_lock(l);}void Unlock(CRITICAL_SECTION *l) {    pthread_mutex_unlock(l);}#endif#ifdef WIN32    _beginthread((void(__cdecl *)(void *))thdPack    ,0,(void *)1);#else    pthread_t threads    rc=pthread_create(&(threads),NULL,thdPack    ,(void *)902);if (rc) printf("%d=pthread_create error!\n",rc);#endif 

读书人网 >C++

热点推荐