##// END OF EJS Templates
Added ResetState to RunnableComponent to reset in case of failure...
Added ResetState to RunnableComponent to reset in case of failure Added StateChanged event to IRunnable Renamed Promise.SUCCESS -> Promise.Success Added Promise.FromException Renamed Bundle -> PromiseAll in PromiseExtensions

File last commit:

r201:d7cd7a83189a v2
r205:8200ab154c8a v2
Show More
Program.cs
45 lines | 1.2 KiB | text/x-csharp | CSharpLexer
using Implab;
using Implab.Parallels;
using Implab.Diagnostics;
using System.Threading;
namespace MonoPlay {
class MainClass {
public static void Main(string[] args) {
var pool = new WorkerPool(10);
var listerner = new ConsoleTraceListener();
listerner.Subscribe<TraceEvent>();
TraceLog.StartLogicalOperation("Main");
var d = pool.Invoke(() => {
TraceLog.StartLogicalOperation("Worker");
Thread.Sleep(100);
TraceLog.TraceInformation("worker done");
TraceLog.EndLogicalOperation();
});
var op = TraceContext.Instance.CurrentOperation;
ThreadPool.QueueUserWorkItem((o) => {
TraceContext.Instance.EnterLogicalOperation(op, false);
TraceLog.StartLogicalOperation("Thread");
Thread.Sleep(100);
TraceLog.TraceInformation("thread done");
TraceLog.EndLogicalOperation();
});
TraceLog.TraceInformation("main done");
TraceLog.EndLogicalOperation();
d.Join();
}
}
}