Linux / pthread_create() 函数所使用的线程函数为什么必须是静态函数?
生活随笔
收集整理的這篇文章主要介紹了
Linux / pthread_create() 函数所使用的线程函数为什么必须是静态函数?
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
答案:因?yàn)?pthread_create() 函數(shù)要求的線程函數(shù)必須滿足如下格式:
void *ThreadFunc(void *args);對(duì)于普通類(lèi)成員函數(shù)、虛函數(shù),他們實(shí)際上都是包含了調(diào)用他們的對(duì)象的 this 指針,即:經(jīng)過(guò)編譯器優(yōu)化,線程函數(shù)變?yōu)槿缦滤?#xff1a;
void *(類(lèi)名)+ ThreadFunc(this, void *args);這就導(dǎo)致了該函數(shù)的格式是不符合 pthread_create() 對(duì)線程函數(shù)的要求的。故,如果類(lèi)成員函數(shù)做為線程函數(shù)時(shí),必須是靜態(tài)的。
?
(SAW:Game Over!)
總結(jié)
以上是生活随笔為你收集整理的Linux / pthread_create() 函数所使用的线程函数为什么必须是静态函数?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: OS / 进程中某个线程崩溃,是否会对其
- 下一篇: OS / Linux / 主线程退出了