12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Threading;
- using System.Threading.Tasks;
- namespace WCS.Data
- {
- public class ThreadHelper
- {
- //static CancellationTokenSource _cancelSource01 = new CancellationTokenSource();
- //static CancellationTokenSource _cancelSource02 = new CancellationTokenSource();
- public static void TaskThread(Action methodName, int millisecondsTimeout = 0)
- {
- var task = Task.Factory.StartNew(() =>
- {
- methodName();
- });
- if (millisecondsTimeout > 0)
- {
- task.Wait(millisecondsTimeout);
- }
- }
- public static void TaskThread<T>(Action<T> methodName, T param, int millisecondsTimeout = 0)
- {
- var task = Task.Factory.StartNew(() =>
- {
- methodName(param);
- });
- if (millisecondsTimeout > 0)
- {
- task.Wait(millisecondsTimeout);
- }
- }
- public static object TaskThread(Func<object> methodName)
- {
- var result = Task.Factory.StartNew(() =>
- {
- return methodName();
- });
- return result;
- }
- public static V TaskThread<T, V>(Func<T, V> methodName, T param, int millisecondsTimeout = 0)
- {
- var result = Task.Factory.StartNew(() =>
- {
- return methodName(param);
- });
- if (millisecondsTimeout > 0)
- {
- if (result.Wait(millisecondsTimeout))
- {
- return result.Result;
- }
- }
- return default(V);
- }
- }
- }
|