static void __startApp() { m_subcriber = new RedisBase(new RedisSetting(REDIS_TYPE.ONLY_SUBCRIBE, __PORT_READ)); m_subcriber.PSUBSCRIBE("__TESSERACT_IN"); var bs = new List <byte>(); while (__running) { if (!m_subcriber.m_stream.DataAvailable) { if (bs.Count > 0) { var buf = m_subcriber.__getBodyPublish(bs.ToArray(), __SUBCRIBE_IN); bs.Clear(); if (buf != null) { new Thread(new ParameterizedThreadStart((o) => __executeBackground((Tuple <string, byte[]>)o))).Start(buf); } } Thread.Sleep(100); continue; } byte b = (byte)m_subcriber.m_stream.ReadByte(); bs.Add(b); } }