Пример #1
0
 public bool Stop()
 {
     threadWorking = false;
     queue.Close();
     StopNext();
     workingThread.Join();
     workingThread = null;
     return(true);
 }
Пример #2
0
    static void Main()
    {
        Thread.CurrentThread.Name = "Reader";
        Thread writer = new Thread(WriterLoop);

        writer.Name = "Writer";
        var queue = new SizeQueue <int>(100);

        writer.Start(queue);
        // reader loop - note this can run parallel
        // to the writer
        for (int i = 0; i < 100; i++)
        {
            if (i % 10 == 9)
            {
                Write(i);
            }
            queue.Enqueue(i);
            Thread.Sleep(5);     // pretend it takes time
        }
        queue.Close();
        Write("exiting");
    }