bool run { get {return _run;} set { if (value != _run) if (_run = value) { (t = new Thread(new ThreadStart(() => { as_read(); }))).Start(); } else { t.Abort(); } } }