private TestLoader(int time, TestHandler1 handler, TestHandler2 handler2) { _Time = time; _Handler = handler; _Handler2 = handler2; _Spend = 0; }
public static TimeSpan GetMultiThreadSpend(int time, TestHandler1 handler, TestHandler2 handler2) { TestLoader tests = new TestLoader(time, handler, handler2); tests.RunMultiThreadTest(); return(new TimeSpan(tests._Spend)); }
public static TimeSpan GetSingleThreadSpend(int time, TestHandler1 handler, TestHandler2 handler2) { TestLoader tests = new TestLoader(time, handler, handler2); tests.SingleThreadWorking(); return(new TimeSpan(tests._Spend)); }
static void Main() { TestHandler1 xTestHandler1 = new TestHandler1(); TestHandler2 xTestHandler2 = new TestHandler2(); Console.WriteLine("start run... ThreadID: " + Thread.CurrentThread.ManagedThreadId); NFIDENTID xID1 = NFCActorMng.Intance().CreateActor(xTestHandler1.Handler); NFIDENTID xID2 = NFCActorMng.Intance().CreateActor(xTestHandler2.Handler); NFIActorMessage xMsgData = new NFIActorMessage(); xMsgData.data = "test"; //xMsgData.bAsync = false;//控制为同步消息还是异步消息 xMsgData.eType = NFIActorMessage.EACTOR_MESSAGE_ID.EACTOR_TEST_MSG; System.DateTime currentTime = new System.DateTime(); currentTime = System.DateTime.Now; NFCActorMng.Intance().SendMsg(xID1, xID2, xMsgData); for (int i = 0; i < 100000; ++i ) { NFIActorMessage xMsg = new NFIActorMessage(); xMsg.data = "test"; //xMsg.bAsync = false;//控制为同步消息还是异步消息 xMsg.eType = NFIActorMessage.EACTOR_MESSAGE_ID.EACTOR_TEST_MSG; TestHandler1 xTest1 = new TestHandler1(); TestHandler2 xTest2 = new TestHandler2(); NFIDENTID x1 = NFCActorMng.Intance().CreateActor(xTest1.Handler); NFIDENTID x2 = NFCActorMng.Intance().CreateActor(xTest2.Handler); NFCActorMng.Intance().SendMsg(x1, x2, xMsg); } Console.WriteLine("start loop... ThreadID: " + Thread.CurrentThread.ManagedThreadId); while(true) { Thread.Sleep(1); System.TimeSpan ts = System.DateTime.Now - currentTime; if (ts.TotalMilliseconds > 10000) { int nCount = TestHandler1.i + TestHandler2.i; Console.WriteLine("Count : " + nCount); break; } } while (true) { Thread.Sleep(1); } NFCActorMng.Intance().ReleaseAllActor(); }
public void TestVoidCommandHanlder() { var handler = new TestHandler1(); Builder.RegisterInstance(handler).AsHandler(hb => hb.For <TestCommand1>((h, c) => h.Handle(c))); Dispatcher.Execute(new TestCommand1("Test")); handler.Value.Should().Be("Test"); }
public void TestCommmand() { var handler = new TestHandler1(); Builder.RegisterInstance(handler).AsHandler(); Dispatcher.Execute(new TestCommand1 { Value = "Test" }); handler.Value.Should().Be("Test"); }
public void TestEventHandler() { var handler1 = new TestHandler1(); var handler2 = new TestHandler1(); Builder.RegisterInstance(handler1).AsHandler(hb => hb.For <TestEvent1>((h, e) => h.Handle(e))); Builder.RegisterInstance(handler2).AsHandler(hb => hb.For <TestEvent1>((h, e) => h.Handle(e))); Dispatcher.Send(new TestEvent1("Test")); handler1.Value.Should().Be("Test"); handler2.Value.Should().Be("Test"); }
static void Main() { TestHandler1 xTestHandler1 = new TestHandler1(); TestHandler2 xTestHandler2 = new TestHandler2(); Console.WriteLine("start run... ThreadID: " + Thread.CurrentThread.ManagedThreadId); NFGUID xID1 = NFCActorMng.Intance().CreateActor(xTestHandler1.Handler); NFGUID xID2 = NFCActorMng.Intance().CreateActor(xTestHandler2.Handler); NFIActorMessage xMsgData = new NFIActorMessage(); xMsgData.data = "test"; //xMsgData.bAsync = false;//控制为同步消息还是异步消息 xMsgData.eType = NFIActorMessage.EACTOR_MESSAGE_ID.EACTOR_TEST_MSG; System.DateTime currentTime = new System.DateTime(); currentTime = System.DateTime.Now; NFCActorMng.Intance().SendMsg(xID1, xID2, xMsgData); for (int i = 0; i < 100000; ++i) { NFIActorMessage xMsg = new NFIActorMessage(); xMsg.data = "test"; //xMsg.bAsync = false;//控制为同步消息还是异步消息 xMsg.eType = NFIActorMessage.EACTOR_MESSAGE_ID.EACTOR_TEST_MSG; TestHandler1 xTest1 = new TestHandler1(); TestHandler2 xTest2 = new TestHandler2(); NFGUID x1 = NFCActorMng.Intance().CreateActor(xTest1.Handler); NFGUID x2 = NFCActorMng.Intance().CreateActor(xTest2.Handler); NFCActorMng.Intance().SendMsg(x1, x2, xMsg); } Console.WriteLine("start loop... ThreadID: " + Thread.CurrentThread.ManagedThreadId); while (true) { Thread.Sleep(1); System.TimeSpan ts = System.DateTime.Now - currentTime; if (ts.TotalMilliseconds > 10000) { int nCount = TestHandler1.i + TestHandler2.i; Console.WriteLine("Count : " + nCount); break; } } while (true) { Thread.Sleep(1); } NFCActorMng.Intance().ReleaseAllActor(); }