1.Linux沒有真正意義上的線程臂聋,Linux的線程其實(shí)也是進(jìn)程灯帮,只不過是可以共享父進(jìn)程的地址空間,文件描述符表逻住,文件系統(tǒng)信息钟哥,信號(hào)處理程序的子進(jìn)程。
2.無論進(jìn)程瞎访,輕進(jìn)程還是線程腻贰,Linux內(nèi)核統(tǒng)一用task_struct結(jié)構(gòu)體表征,所以扒秸,從Linux內(nèi)核的角度看播演,只有任務(wù)冀瓦。
3.使用pthread線程庫(kù)在Linux下創(chuàng)建線程,創(chuàng)建線程的函數(shù)是pthread_create写烤,最終是通過調(diào)用clone系統(tǒng)調(diào)用來創(chuàng)建一個(gè)子進(jìn)程翼闽,在調(diào)用參數(shù)上指定了需要與父進(jìn)程共享的資源。
4.進(jìn)程有自己獨(dú)立的地址空間洲炊,從低地址到高地址感局,依次是text段,data段暂衡,bss段询微,堆,棧狂巢。線程共享進(jìn)程的地址空間撑毛,有自己獨(dú)立的棧,線程的棧是在進(jìn)程的堆上分配的唧领。