/// <summary> /// 清空当前的所有内存日志 /// </summary> public static void ClearMemLog() { lock (_lockMem) { _logQueue.Clear(); } }
private void DoClose() { try { IsInited = false; DxDebug.LogConsole("DNClient.DoClose():开始释放资源 "); _disposed = true; // 清理托管资源 _msgQueue.Clear(); _msgPool.Clear(); _msgQueue = null; _msgPool = null; // 清理非托管资源 _msgSemaphore.Close(); _msgSemaphore = null; Interlocked.Exchange(ref _curSemCount, 0); if (_socketClient != null) { _socketClient.Dispose(); _socketClient = null; } IsConnecting = false; } catch (Exception e) { DxDebug.LogWarning("DNClient.DoClose():异常: " + e.Message); } }
/// <summary> /// 统计数据清空 /// </summary> public void Clear() { CountReceive = 0; CountSend = 0; CountReceive10s.Clear(); CountSend10s.Clear(); }
private void Dispose(bool disposing) { if (disposed) { return; } try { if (disposing) { // 清理托管资源 _msgQueue.Clear(); Status.Clear();//清空状态统计 } // 清理非托管资源 EventTokenError = null; EventTokenReceData = null; _msgSemaphore.Close();//关信号量队列 if (_workThread != null) { for (int i = 0; i < _workThread.Length; i++) { try { if (_workThread[i].IsAlive) //关线程 { _workThread[i].Abort(); } } catch (Exception e) { DxDebug.LogWarning("DNServer.Dispose():异常 _workThread[" + i + "].Abort();" + e.Message); } } } if (_socketListener != null) { _socketListener.Dispose(); _socketListener = null; } } catch (Exception e) { DxDebug.LogWarning("DNServer.Dispose():异常 " + e.Message); } //让类型知道自己已经被释放 disposed = true; }
private void Dispose(bool disposing) { if (_disposed) { return; } try { DxDebug.LogConsole("WorkThread.DoWork():工作线程关闭!"); _isRun = false; //最先去把线程关了 for (int i = 0; i < _threadCount; i++) { //把线程关了 if (_workThread[i] != null && _workThread[i].IsAlive) { try { _workThread[i].Abort(); } catch (Exception e) { DxDebug.LogWarning("WorkThread.Dispose():异常 _workThread[" + i + "].Abort();" + e.Message); } } } if (disposing) { // 清理托管资源 if (_msgQueue != null) { _msgQueue.Clear(); } } // 清理非托管资源 if (_msgSemaphore != null) { _msgSemaphore.Close(); } } catch (Exception e) { DxDebug.LogWarning("WorkThread.Dispose():释放异常" + e.Message); } //让类型知道自己已经被释放 _disposed = true; }