pthread庫是乙個跨平台的多執行緒庫。在cocos2d-x中已經整合了該庫。
1.包含標頭檔案
2.鏈結庫檔案
互斥鎖:
//定義互斥鎖
pthread_mutex_t s_taskqueuemutex;
// 初始化互斥鎖
pthread_mutex_init(&s_taskqueuemutex, null);
//銷毀互斥鎖
pthread_mutex_destroy(&s_taskqueuemutex);
條件變數:
// 定義條件變數
pthread_mutex_ts_sleepmutex;
pthread_cond_ts_sleepcondit
// 初始化條件變數
pthread_mutex_init(&s_sleepmutex, null);
pthread_cond_init(&s_sleepcondition, null);
//銷毀條件變數
pthread_mutex_destroy(&s_sleepmutex);
pthread_cond_destroy(&s_sleepcondition);
條件變數是利用執行緒間共享的
全域性變數進行同步的一種機制,主要包括兩個動作:乙個執行緒等待"條件變數的條件成立"而掛起;另乙個執行緒使"條件成立"(給出條件成立訊號)。為了防止競爭,
條件變數的使用總是和乙個
互斥鎖結合在一起。
執行緒://執行緒id
static pthread_t s_workthread;
//定義執行緒方法
static void* workthread(void *data)
// 建立執行緒
pthread_create(&s_workthread, null, workthread, null);
// 執行執行緒
pthread_detach(s_workthread);
//退出當前執行緒
pthread_exit(null);
[cpp]view plain
copy
//包含標頭檔案
#include
//執行緒id
static pthread_t s_workthread;
static void* workthread(void *data)
//退出當前執行緒
pthread_exit(null);
return 0;
} // 建立執行緒
pthread_create(&s_workthread, null, workthread, null);
// 執行執行緒
pthread_detach(s_workthread);
}
呼叫**如下:
[cpp]view plain
copy
this->threadtest();
cclog("main thread running..");
日誌輸出如下:
從日誌可以看到「main thread running"先被輸出了,也就是說theadtest()方法中建立和執行的執行緒方法並沒有阻塞主線程**的執行。
cocos2dx CCScrollView使用示例
總的來說,就是有乙個容器container 錨點 0,0 大小 為全部內容的大小 scrollview 大小,錨點,setdelegate 視窗大小 setviewsize 設定容器 setcontainer 方向 ccnode m pmedalcontainer ccscrollview m ps...
cocos2d實現語音 Cocos2d 聲音API
param url 聲音路徑 cc.audioengine.playmusic url loop 停止背景 param releasedata 是否釋放聲音資料,預設為false cc.audioengine.stopmusic releasedata 暫停背景 cc.audioengine.pau...
Cocos2d x教程第 14 講 Cocos2d
cocos2d x 2.2.0之前的版本常用的json解析的三方庫一般是 jsoncpp 2.2.x的版本中已經包含了jsoncpp的庫,但是卻把名字給換了,導致引入jsoncpp庫的同志們發生各種衝突.完成上述操作後就可以盡情發揮了.下面讓我們來認識一下幾個主要的類 value value 類建立...