我正在開發一款遊戲,所以我不得不使用fork()
,主線程運行opengl圖形,並且子線程運行遊戲邏輯。如何殺死C++中的分叉進程?
現在我有一個問題。在某些時候,用戶可以按下由輔助線程處理的遊戲內的「退出」按鈕。另外,在某些時候,用戶可以點擊X按鈕退出由主(過剩)線程處理的遊戲。所以這裏是我的問題:我怎樣才能殺死其他正在運行的線程並退出?
現在,如果關閉窗口,第二個線程繼續運行,並且第二個線程完成,第一個線程繼續運行。
處理「X」按鈕可以使用atexit
函數完成,但我沒有找到(安全)殺死glutMainLoop()
的方法。
fork()創建一個新進程,而不是一個新線程。 – Puppy 2012-03-01 16:54:05
我明白了...... thread'和'process'之間有什麼區別呢? – Tibi 2012-03-01 16:54:58
你究竟做了什麼?我想不出在遊戲中(或者真的是任何桌面軟件)分叉的理由。 Windows甚至不提供類似的功能。 – 2012-03-01 16:55:33