From a436d32d64aa2a5a161e6346ef1c92ca56505d87 Mon Sep 17 00:00:00 2001 From: lijie <1713699517@qq.com> Date: Wed, 15 Jun 2022 15:46:11 +0800 Subject: [PATCH] =?UTF-8?q?ft:=20=E6=B5=8B=E8=AF=95=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test.erl | 50 ++++++++++++++++++++++++++++++++++++++++ src/timerWork/gtWork.erl | 9 ++++---- 2 files changed, 55 insertions(+), 4 deletions(-) create mode 100644 src/test.erl diff --git a/src/test.erl b/src/test.erl new file mode 100644 index 0000000..527ec0a --- /dev/null +++ b/src/test.erl @@ -0,0 +1,50 @@ +-module(test). + +-compile([export_all]). + +timer(_, _) -> + % I = atomics:add_get(persistent_term:get(cnt), 1, 1), + %io:format("IMY******* ~p~n", [I]) , + % case I of + % 1000000 -> + % io:format("end time ~p ~n", [erlang:system_time(millisecond)]); + % _ -> + % ignore + % end, + ok. + +test(N, Time) -> + io:format("start time1 ~p ~n", [erlang:system_time(millisecond)]), + % persistent_term:put(cnt, atomics:new(1, [])), + gTimer:startWork(16), + doTest(N, Time). + +doTest(0, Time) -> + io:format("start time2 ~p ~n", [erlang:system_time(millisecond)]), + gTimer:setTimer(rand:uniform(Time), {?MODULE, timer, []}); +doTest(N, Time) -> + gTimer:setTimer(rand:uniform(Time), {?MODULE, timer, []}), + doTest(N - 1, Time). + +timer(_) -> + %io:format("IMY******* ~p~n", [I]) , + % case I of + % 1000000 -> + % io:format("end time ~p ~n", [erlang:system_time(millisecond)]); + % _ -> + % ignore + % end, + ok. + +test2(N, Time) -> + io:format("start time1 ~p ~n", [erlang:system_time(millisecond)]), + doTest2(N, Time). + +doTest2(0, Time) -> + io:format("start time2 ~p ~n", [erlang:system_time(millisecond)]), + zm_dtimer:set({game, 0}, {?MODULE, timer, []}, {time, rand:uniform(Time), 6000}); +doTest2(N, Time) -> + zm_dtimer:set({game, N}, {?MODULE, timer, []}, {time, rand:uniform(Time), 6000}), + doTest2(N - 1, Time). + + diff --git a/src/timerWork/gtWork.erl b/src/timerWork/gtWork.erl index 3a4d0a7..ed32e54 100644 --- a/src/timerWork/gtWork.erl +++ b/src/timerWork/gtWork.erl @@ -35,10 +35,11 @@ handleCast(_Msg, _State) -> handleInfo({timeout, TimerRef, MFA}, _State) -> %% 确认Msg格式 然后做分发处理 {M, F, A} = MFA, - try M:F(A, TimerRef) - catch C:R -> - error_logger:error_msg("gTimer timeout error MFA:~p C:~p R:~p~n", [MFA, C, R]) - end, + spawn(M, F, [A, TimerRef]), + % try M:F(A, TimerRef) + % catch C:R -> + % error_logger:error_msg("gTimer timeout error MFA:~p C:~p R:~p~n", [MFA, C, R]) + % end, kpS; handleInfo(_Msg, _State) -> kpS.