簡體   English   中英

兩個應用程序之間的互斥

[英]Mutual exclusion between two application

我想編寫兩個可在單個文本文件上運行的Android應用程序。

第一個應用程序(App1)的任務-

答:檢查文本文件“ abc.txt”是否存在於sdcard的根目錄下。

B.如果不存在,請在sdcard的根目錄下創建“ abc.txt”。

C.每隔5分鍾定期將數據寫入abc.txt中。

第二個應用程序(App2)的任務-

答:檢查文本文件“ abc.txt”是否存在於sdcard的根目錄下。

B.如果存在,請從文件“ abc.txt”中讀取所有數據,然后讀取並刪除它

現在,每個應用程序都可以分別讀取和寫入“ abc.txt”,但是我面臨着同步問題。 我想確保如果第一個應用程序正在寫入文本文件,則第二個文件必須等待直到准備好從中讀取文本文件。 我本來會用

synchronized

關鍵字是一個應用程序。 在這種情況下有人可以幫我嗎?

FileLock應該提供您需要的功能。 您可以鎖定abc.txt ,也可以鎖定其他文件,該文件將始終存在,並且僅充當應用程序的系統級鎖定。

從文檔:

多個進程可以在文件的同一區域上持有共享鎖,但是只有一個進程可以在文件的給定區域上持有排他鎖,而其他任何進程都不能同時持有與排他鎖重疊的共享鎖。

您可以從FileChannel獲得整個文件的獨占FileLock

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM