主要還是用pthread類
1、建立一個執行緒
類似使用pthread_create函式,前提需要引入相應的標頭檔案
#include <pthread.h>
2、進入執行緒的回撥函式,一般在回撥函式中需要寫一個死迴圈進行一些資料處理等等。
void t_callback()
{
While(true)
{}
}
3、由於執行緒會訪問同一段資料或記憶體,所以一般需新增互拆鎖lock防止訪問同一段資料
pthread_mutex_t m_lock;
pthread_mutex_init(&m_lock,NULL);
pthread_mutex_lock(&m_lock);
pthread_mutex_unlock(&m_lock);
4、死迴圈會導致宕機,所以在死迴圈中需要加入阻塞,
pthread_cond_t m_cond;
pthread_cond_init(&m_cond, NULL);
阻塞掛起時候呼叫:
pthread_cond_wait(&m_cond, &m_lock);
阻塞喚醒時候呼叫:
pthread_cond_singnal(&m_cond);
主要還是用pthread類
1、建立一個執行緒
類似使用pthread_create函式,前提需要引入相應的標頭檔案
#include <pthread.h>
2、進入執行緒的回撥函式,一般在回撥函式中需要寫一個死迴圈進行一些資料處理等等。
void t_callback()
{
While(true)
{}
}
3、由於執行緒會訪問同一段資料或記憶體,所以一般需新增互拆鎖lock防止訪問同一段資料
pthread_mutex_t m_lock;
pthread_mutex_init(&m_lock,NULL);
pthread_mutex_lock(&m_lock);
pthread_mutex_unlock(&m_lock);
4、死迴圈會導致宕機,所以在死迴圈中需要加入阻塞,
pthread_cond_t m_cond;
pthread_cond_init(&m_cond, NULL);
阻塞掛起時候呼叫:
pthread_cond_wait(&m_cond, &m_lock);
阻塞喚醒時候呼叫:
pthread_cond_singnal(&m_cond);