public MainViewModel() { _closeCommand = new RelayCommand(_ => { _channelMessageProducer.Dispose(); }); Channels = new ObservableCollection <ChannelViewModel>(); _channelMessageProducer = new ChannelMessageWorkerThread(); _channelMessageProducer.Start(this); }
public MainViewModel() { _closeCommand = new RelayCommand(_ => { _channelMessageProducer.Dispose(); }); _syncChannels = new object(); Channels = new ObservableCollection <ChannelViewModel>(); BindingOperations.EnableCollectionSynchronization(Channels, _syncChannels); _channelMessageProducer = new ChannelMessageWorkerThread(); _channelMessageProducer.Start(this); }
public bool InitThread(IWorkerThread Thread) { bool OK = true; Task Task; if (TaskQueue.Count == 0) { AddTasks(Params.MaxThreads); } if (TaskQueue.TryDequeue(out Task)) { Thread.Init(new WorkerThreadParams(Task)); Thread.Start(); } else { if (TaskQueue.Count > 0) { Logger.UltraLogger.Instance.AddToLog("Worker: Coudn't dequeue Task.", Logger.MsgType.Error); OK = false; } } return(OK); }