Exemple #1
0
            public static TaskInfo StartNewNow(ThreadSStart Funk)
            {
                TaskInfo threadInfo = new TaskInfo(Funk);

                threadInfo.StartNow();
                return(threadInfo);
            }
Exemple #2
0
            public object _out;    // пока не используется

            public TaskInfo(ThreadSStart Funk)
            {
                _out          = null;
                is_start      = false;
                is_complete   = false;
                to_lock       = new object();
                taskContainer = new TaskContainer(Funk, this);
            }
Exemple #3
0
 public TaskContainer(ParameterizedThreadSStart parameterizedThreadSStart, object o, TaskInfo threadInfo = null)
 {
     this.parameterizedThreadSStart = parameterizedThreadSStart;
     this.o            = o;
     this.taskInfo     = threadInfo;
     this.threadSStart = null;
     this.is_void_func = false;
 }
Exemple #4
0
 public TaskContainer(ThreadSStart threadSStart, TaskInfo threadInfo = null)
 {
     this.threadSStart         = threadSStart;
     this.taskInfo             = threadInfo;
     parameterizedThreadSStart = null;
     o            = null;
     is_void_func = true;
 }
        public static IEnumerable WaitCompleteFunction(ThreadSStart Func)
        {
            TaskInfo taskInfo = new TaskInfo(Func);

            while (!taskInfo.is_complete)
            {
                yield return(null);
            }
        }
Exemple #6
0
            public WorkThread(int id)
            {
                manualReset      = new ManualResetEventSlim(false);
                StartFunc        = new ThreadSStart(ThreadStart);
                need_stop_thread = false;
                this.id          = id;

                thread = new Thread(new ThreadStart(ThreadStart));
                thread.IsBackground = true;
                thread.Start();
            }