我有一個使用靜態方法寫入設置xml文件的多線程應用程序。我想避免文件被同時更新兩次(導致訪問/寫入異常)。以靜態方法鎖定()
我該怎麼做?
這不起作用:
namespace Program
{
public class Settings
{
private static void SetSettingsValue (string settings, string value)
{
// make this thread safe to avoid writing to a locked settings xml file
lock (typeof(Settings))
{
//write data to xml file
}
}
}
}
你是否正確地處理了你的XML文件(即通過'using')?你能分享更多的代碼嗎?另外,對於靜態方法,你應該在私有靜態對象上「鎖定」,而不是在類型上。請參閱http://msdn.microsoft.com/en-us/library/c5kehkcz.aspx – 2010-10-24 21:33:30