2014-01-10 56 views
0

我需要爲我正在開發的文件系統中的讀者寫者問題實施解決方案。我在網上搜索,發現這個Wikipedia solution。既然我被告知沒有飢餓可能存在,我選擇了第三種解決方案。現在,我是多線程編程的新手,我有一個問題。我如何將共享變量和局部變量分開?我想在每個管理訪問該文件的文件對象中實例化一個ReadersWriters類,因此每個線程都需要擁有它自己的prev和當前局部變量,並且它們都需要共享nreaders變量。我想把它們放在ReadersWriters類中。共享和本地變量C++

+0

你是什麼意思將它們分開?你有一些你想要做的例子代碼? – Collin

回答

0

據我所知,父線程只有兩種方式與子線程共享數據。

  1. 全局變量
  2. 創建子線程的過程中通過指針傳遞。

很明顯,新的指針可能會粘貼到任何現有的對象上。

局部變量保留線程本地,除非你做一些事情來阻止它們如此。請記住,每個線程都有自己的堆棧。