public void StartIQObserverThread(int bufferSize) { if (_iqObserverBuffer == null || _iqObserverBuffer.Length != bufferSize) { if (_iqObserverBuffer != null) { _iqObserverBuffer.Dispose(); _iqObserverBuffer = null; } _iqObserverBuffer = UnsafeBuffer.Create(bufferSize, sizeof(Complex)); _iqObserverBufferPtr = (Complex *)_iqObserverBuffer; } _iqObserverThread = new Thread(IQObserverThread); _iqObserverThread.Priority = ThreadPriority.BelowNormal; _iqObserverThread.Name = "IQObserverThread"; _iqObserverThreadRunning = true; _iqObserverThread.Start(); }