Yield() public method

public Yield ( ) : void
return void
コード例 #1
0
        public void Send(T data)
        {
            MicroThread t = MicroThread.CurrentThread;

            m_dataQueue.Enqueue(data);

            if (m_receivers.Count == 0)
            {
                m_senders.Enqueue(t);
                t.Wait();
            }
            else
            {
                MicroThread receiver = m_receivers.Dequeue();
                receiver.WakeUp();
                t.Yield();
            }
        }