2011-03-07 57 views
0

我在其中記錄音頻文件的應用程序資源。 用戶可以指定記錄的音頻,採樣的數量和時間的記錄之間的長度。 例如:鎖訪問由線程

length = 3 sec 
samples = 2 
interval = 5 sec 

當應用程序啓動時,它創建一個線程,等待5秒鐘,並創建第二線程。

第一線程記錄3秒樣品到一個指定的目錄。

2秒後,下一個線程開始記錄第二個採樣。 它的工作原理,並創建兩個文件:sample1.3gp,sample2.3gp。

但是,當用戶指定:

length = 3 sec 
samples = 2 
interval = 1 sec 

記錄不能因爲第二個線程試圖訪問媒體記錄時,第一個線程仍然使用它來完成。

我希望能夠爲該資源設置一些鎖。我的意思是 ?

第1個線程開始3秒記錄時,1秒後第2個線程也嘗試記錄。

但它應該等待下一個兩秒鐘,直到第1個線程完成其工作。

什麼是解決這個問題的最好方法是什麼?

回答

0

我建議你閱讀一般的線程和互斥。 Read this SO question first也許提煉你在問什麼。

這不是一個真正的Android特定問題,但更多的是關於Java的線程。