Beispiel #1
0
    public void AddTask(UserTask task)
    {
        Taskandler taskandler = new Taskandler();

        taskandler.UserTask = task;
        StoreTasks.Enqueue(taskandler);
    }
Beispiel #2
0
 private void ExecuteTask()
 {
     mainThread = new Thread(() =>
     {
         do
         {
             if (ReadyTasks.Count <= MAX_VALUE)
             {
                 for (int i = ReadyTasks.Count; i < MAX_VALUE; i++)
                 {
                     if (StoreTasks.Count != 0)
                     {
                         ReadyTasks.Enqueue(StoreTasks.Peek());
                         StoreTasks.Dequeue();
                     }
                 }
             }
             if (ReadyTasks.Count > 0)
             {
                 Taskandler executeHandler = ReadyTasks.Peek();
                 UserTask u = executeHandler.UserTask;
                 thread     = new Thread(new ThreadStart(u));
                 thread.Start();
                 ReadyTasks.Dequeue();
                 thread.Join();
                 EventDataBase.TriggerEvent("PRINT_LABEL");
                 CommandState.Command commamd = CommandState.Instance.GetCommand();
             }
         } while (true);
     });
     mainThread.Start();
 }