/* * public uint NodeID { get { return _NodeID; } } * public string ModuleName { get { return _ModuleName; } } * public string SerialNo { get { lock (SyncObject) return _SerialNo; } } * public string FireWareVer { get { lock (SyncObject) return _FireWareVer; } } * public Byte ModuleIndex { get { lock (SyncObject) return _ModuleIndex; } } * public Byte ErrorCode { get { lock (SyncObject) return _ErrorCode; } } * public Byte WaringCode { get { lock (SyncObject) return _WaringCode; } } * public TModuleType ModuleType { get { lock (SyncObject) return _ModuleType; } } * public Byte ExecMask { get { lock (SyncObject) return _ExecMask; } } * public TModuleState ModuleState { get { lock (SyncObject) return _ModuleState; } } */ public TBaseModule(uint ID, string Name) { //SyncObject = new object(); _NodeID = ID; _ModuleName = Name; _ModuleType = TModuleType.mtNone; _ExecMask = 0; _ModuleState = TModuleState.msNone; _PortOpened = false; _WorkThread = WorkThread.CreateInstance(); _WorkThread.AddModuleToList(this); //Dlgt = new AsyncSendWorker(SendMsgMethod); WriteDlgt = new WriteParamWorker(WriteDataToEEPRom); ReadDlgt = new ReadParamWorker(ReadDataFromEEPRom); _SendCmd = new byte[8]; //_SendCmd = System.Text.Encoding.Unicode.GetBytes(); //处理该模块硬件响应数据的线程 //Task.Factory.StartNew(DataHandlerMethod, cancelTokenSource.Token); }
public static WorkThread CreateInstance() { if (_Instance == null) { lock (lockHelper) { if (_Instance == null) { _Instance = new WorkThread(); } } } return(_Instance); }