2013-03-22 75 views
-1

我想在新窗口中打印每個線程的輸出。 作爲主功能輸出到第一個終端。我的代碼是用c語言編寫的。 請幫幫我,謝謝!在新窗口中打印線程的輸出c

+1

可以肯定你在Linux上,因爲你已經標記了這個pthreads?你也必須提供更多的上下文。 「窗口」,終端窗口,GUI窗口是什麼意思?如你想產生多個線程,每個線程寫入自己的終端?最後,如果您有代碼,請發佈相關部分。 – Skurmedel 2013-03-22 07:34:06

+1

在基於控制檯的程序中,您不能只打開新的終端並將它們用於「標準輸出」。您可以使用'ncurses'將當前終端拆分爲「windows」,並使用具有特殊輸出功能的每個線程。 – 2013-03-22 07:35:07

+0

@Skurmedel Pthreads是POSIX,可運行在Linux以外的平臺上,包括OS X,甚至Windows(附加庫)。這就是說,這個問題非常模糊。你尋求幫助,但是不要向我們展示你自己的任何工作,你嘗試過什麼,等等。 – 2013-03-22 07:39:16

回答

0

簡短的回答是:你不能。

長的答案是,你可以但它是很多工作。基本上你必須以某種方式打開一個窗口並附加一個僞終端,但沒有一個外殼。

較短的解決方案是使用進程而不是線程。然後,您可以將程序拆分爲兩個或更多程序,一個用於創建流程,一個或多個用於執行您之前有線程的工作。在主程序中你fork然後exec工人程序。

最簡單的解決方案,如果您必須使用線程,那麼它會使用ncurses將當前終端窗口拆分爲單獨的「窗口」爲每個線程。

+0

中的措辭好!謝謝幫助我! – 2013-03-22 07:59:54