www.pudn.com > OracleServiceManager.zip > SingleInstance.cs, change:2004-02-08,size:528b


using System; 
using System.Threading; 
 
namespace kae.OracleServiceManager 
{ 
	///  
	/// Allows only one system-wide (Operating System) instance of an object 
	///  
	public class SingleInstance 
	{ 
		private Mutex _mutex; 
 
		public SingleInstance( System.Guid guid) 
		{ 
			_mutex = new Mutex( false, guid.ToString()); 
		} 
 
		public void Dispose() 
		{ 
			_mutex.ReleaseMutex(); 
			_mutex.Close(); 
		} 
 
		public bool IsRunning 
		{ 
			get { return !_mutex.WaitOne( 10, true); } 
		} 
	} 
}