python基礎教程 c 如何并行編程?
c 如何并行編程?1. C語言沒有特殊的并行編程模式,但可以模擬多線程、多進程的并行編程。2例如,在Linux中,可以使用fork函數調用新進程。Fork函數是計算機程序設計中的一個分支函數。返回值
c 如何并行編程?
1. C語言沒有特殊的并行編程模式,但可以模擬多線程、多進程的并行編程。2例如,在Linux中,可以使用fork函數調用新進程。Fork函數是計算機程序設計中的一個分支函數。返回值:如果調用成功一次,則返回兩個值,子進程返回0,父進程返回子進程標志;否則出錯返回-1。fork函數將正在運行的程序分成兩個(幾乎)相同的進程,每個進程從代碼的相同位置啟動一個線程。兩個進程中的線程繼續(xù)執(zhí)行,就像兩個用戶同時啟動應用程序的兩個副本一樣。函數原型PID?t fork(void)(PID?t是一個宏定義,其本質是int在include<sys/types中定義。H>)返回值:如果調用一次成功,則返回兩個值,子進程返回0,父進程返回子進程ID;否則返回-1函數,表示現有進程可以調用fork函數創(chuàng)建新進程。fork創(chuàng)建的新進程稱為子進程。fork函數被調用一次并返回兩次。兩個返回的唯一區(qū)別是子進程返回值0,父進程返回子進程ID。子進程是父進程的副本,它將獲取父進程的數據空間、堆、堆棧和其他資源的副本。注意,子進程持有上述存儲空間的“副本”,這意味著父進程和子進程不共享存儲空間。UNIX將父進程的地址空間內容復制到子進程,因此子進程有一個獨立的地址空間。在不同的UNIX(like)系統中,無法確定子進程還是父進程在fork之后首先運行,這取決于系統的實現。因此,在移植代碼時不應該對此進行任何假設。