protected override void Process() { UpdateLog("Loading"); Log = ""; IO.PCD_Importer Importer = new IO.PCD_Importer(); try { RWL.AcquireWriterLock(100); try { Importer.Import(Path, out Cloud, Intensity); } finally { RWL.ReleaseWriterLock(); } } catch (Exception) { UpdateLog("Error."); } Log += Importer.log; base.Process(); }
public virtual void Leave(Presence sender) { try { RWL.AcquireWriterLock(50); Values.Remove(sender.Token); } finally { RWL.ReleaseWriterLock(); } }
public virtual void Join(Presence sender) { try { RWL.AcquireWriterLock(50); Values[sender.Token] = sender; } finally { RWL.ReleaseWriterLock(); } }
public bool TryGet(long key, out Match val) { try { RWL.AcquireReaderLock(500); return(Matches.TryGetValue(key, out val)); } finally { RWL.ReleaseReaderLock(); } }
public void Pop(long key) { try { RWL.AcquireReaderLock(1000); // this is already too long but who cares ? Matches.Remove(key); } finally { RWL.ReleaseReaderLock(); } }
public void Push(Match val) { try { RWL.AcquireReaderLock(1000); // this is already too long but who cares ? val.MatchId = Matches.Count; Matches.Add(val.MatchId, val); } finally { RWL.ReleaseReaderLock(); } }
protected override void Run() { while (true) { using (RWL.AcquireReaderLock()) { Console.WriteLine("<| " + base.ToString() + " is reading"); Thread.Sleep(3000); Console.WriteLine(" |>" + base.ToString() + " has finished reading!"); } // Thread.Sleep (1000); } }
public bool TryGet(string userName, out Presence pr) { try { RWL.AcquireReaderLock(500); pr = Values.FirstOrDefault(_pr => _pr.Value.User.UserName == userName).Value; return(pr != null); } finally { RWL.ReleaseReaderLock(); } }
public void Push(IPacket packet, Presence skip = null) { try { RWL.AcquireReaderLock(1000); // this is already too long but who cares ? foreach (var pr in Values.Where(pr => pr.Value != skip)) { pr.Value.Push(packet); } } finally { RWL.ReleaseReaderLock(); } }