void Enqueue(NTask task) { #if DUMP Debug.WriteLine("Enqueue Task"); #endif while (true) { var head = _head; task.Next = head; if (Interlocked.CompareExchange(ref _head, task, head) == head) { _signal.Set(); break; } } }
private void mnuAdd_Click(object sender, System.EventArgs e) { NTask task = new NTask("New task", true, "Some file", "1230", "Pending", Color.SteelBlue); this.nTasks1.AddTask(task); }