using System;
using System.Threading;
namespace Implab {
///
/// Класс для распаралеливания задач.
///
///
/// Используя данный класс и лямда выражения можно распараллелить
/// вычисления, для этого используется концепция обещаний.
///
public static class AsyncPool {
public static Promise Invoke(Func func) {
var p = new Promise();
ThreadPool.QueueUserWorkItem(param => {
try {
p.Resolve(func());
} catch(Exception e) {
p.Reject(e);
}
});
return p;
}
}
}