Beispiel #1
0
 private TestLoader(int time, TestHandler1 handler, TestHandler2 handler2)
 {
     _Time     = time;
     _Handler  = handler;
     _Handler2 = handler2;
     _Spend    = 0;
 }
Beispiel #2
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));
        }
Beispiel #3
0
        public static TimeSpan GetSingleThreadSpend(int time, TestHandler1 handler, TestHandler2 handler2)
        {
            TestLoader tests = new TestLoader(time, handler, handler2);

            tests.SingleThreadWorking();
            return(new TimeSpan(tests._Spend));
        }
Beispiel #4
0
        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();
        }
Beispiel #5
0
        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");
        }
Beispiel #7
0
        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");
        }
Beispiel #8
0
        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();
        }