10
在unix中,如果一個多線程進程發送了一個信號,哪個線程將執行處理函數呢?多線程信號處理
如果它是一個多cpu機器,則多個線程同時運行。哪個線程將運行信號處理函數?
在unix中,如果一個多線程進程發送了一個信號,哪個線程將執行處理函數呢?多線程信號處理
如果它是一個多cpu機器,則多個線程同時運行。哪個線程將運行信號處理函數?
根據man 7 signal,在這個過程中共享的所有線程相同的信號處理程序,並且如果信號被傳遞到與未阻塞信號的多個線程的方法,它們中的一個任意選擇接收它。
擁有多CPU機器不會改變這些語義。