首先要看在何種平台上面運作,Windows/Linux/Unix/OS X對於 Thread的實做方式都不同。所以就算你抓到了Linux的pthread.h這個檔案,但是跑去Solaris下面編譯依然是無效的,因為thread的實做需要跟函式庫還有作業系統核心搭配。
像是在Linux下面有這樣一個檔案 /lib/libpthread-0.10.so
裡面定義了這一些API
objdump -x /lib/libpthread-0.10.so | grep pthread_create
00008f20 l F .text 00000064 __pthread_create_2_0
00008da0 l F .text 0000017b __pthread_create_2_1
00008f20 g F .text 00000064 pthread_create@GLIBC_2.0
00008da0 g F .text 0000017b pthread_create@@GLIBC_2.1
所以你可以用pthread_create 的函式來創造thread,但是程式Linking過程中需要link到這個函式庫,使用的方式類似 "gcc -lpthread thread_example.c"
其他的東西,請自行參閱
http://www.yolinux.com/TUTORIALS/LinuxTutorialPosixThreads.html
http://linux.die.net/man/7/pthreads
Windows Thread程式開發
http://www.codeproject.com/threads/thread_win32.asp
http://msdn2.microsoft.com/en-us/library/ms682453.aspx
留言列表