@@ -73,6 +73,22 @@ public static bool isPause()
7373 return _isPauseOut ;
7474 }
7575
76+ public static void monitor_Enter ( object obj )
77+ {
78+ if ( KBEngineApp . app == null || KBEngineApp . app . getInitArgs ( ) . isMultiThreads == false )
79+ return ;
80+
81+ Monitor . Enter ( obj ) ;
82+ }
83+
84+ public static void monitor_Exit ( object obj )
85+ {
86+ if ( KBEngineApp . app == null || KBEngineApp . app . getInitArgs ( ) . isMultiThreads == false )
87+ return ;
88+
89+ Monitor . Exit ( obj ) ;
90+ }
91+
7692 public static bool hasRegisterOut ( string eventname )
7793 {
7894 return _hasRegister ( events_out , eventname ) ;
@@ -87,9 +103,9 @@ private static bool _hasRegister(Dictionary<string, List<Pair>> events, string e
87103 {
88104 bool has = false ;
89105
90- Monitor . Enter ( events ) ;
106+ monitor_Enter ( events ) ;
91107 has = events . ContainsKey ( eventname ) ;
92- Monitor . Exit ( events ) ;
108+ monitor_Exit ( events ) ;
93109
94110 return has ;
95111 }
@@ -128,20 +144,20 @@ private static bool register(Dictionary<string, List<Pair>> events, string event
128144 return false ;
129145 }
130146
131- Monitor . Enter ( events ) ;
147+ monitor_Enter ( events ) ;
132148 if ( ! events . TryGetValue ( eventname , out lst ) )
133149 {
134150 lst = new List < Pair > ( ) ;
135151 lst . Add ( pair ) ;
136152 //Dbg.DEBUG_MSG("Event::register: event(" + eventname + ")!");
137153 events . Add ( eventname , lst ) ;
138- Monitor . Exit ( events ) ;
154+ monitor_Exit ( events ) ;
139155 return true ;
140156 }
141157
142158 //Dbg.DEBUG_MSG("Event::register: event(" + eventname + ")!");
143159 lst . Add ( pair ) ;
144- Monitor . Exit ( events ) ;
160+ monitor_Exit ( events ) ;
145161 return true ;
146162 }
147163
@@ -157,12 +173,12 @@ public static bool deregisterIn(string eventname, object obj, string funcname)
157173
158174 private static bool deregister ( Dictionary < string , List < Pair > > events , string eventname , object obj , string funcname )
159175 {
160- Monitor . Enter ( events ) ;
176+ monitor_Enter ( events ) ;
161177 List < Pair > lst = null ;
162178
163179 if ( ! events . TryGetValue ( eventname , out lst ) )
164180 {
165- Monitor . Exit ( events ) ;
181+ monitor_Exit ( events ) ;
166182 return false ;
167183 }
168184
@@ -172,12 +188,12 @@ private static bool deregister(Dictionary<string, List<Pair>> events, string eve
172188 {
173189 //Dbg.DEBUG_MSG("Event::deregister: event(" + eventname + ":" + funcname + ")!");
174190 lst . RemoveAt ( i ) ;
175- Monitor . Exit ( events ) ;
191+ monitor_Exit ( events ) ;
176192 return true ;
177193 }
178194 }
179195
180- Monitor . Exit ( events ) ;
196+ monitor_Exit ( events ) ;
181197 return false ;
182198 }
183199
@@ -193,7 +209,7 @@ public static bool deregisterIn(object obj)
193209
194210 private static bool deregister ( Dictionary < string , List < Pair > > events , object obj )
195211 {
196- Monitor . Enter ( events ) ;
212+ monitor_Enter ( events ) ;
197213
198214 foreach ( KeyValuePair < string , List < Pair > > e in events )
199215 {
@@ -210,7 +226,7 @@ private static bool deregister(Dictionary<string, List<Pair>> events, object obj
210226 }
211227 }
212228
213- Monitor . Exit ( events ) ;
229+ monitor_Exit ( events ) ;
214230 return true ;
215231 }
216232
@@ -244,7 +260,7 @@ public static void fireAll(string eventname, object[] args)
244260
245261 private static void fire_ ( Dictionary < string , List < Pair > > events , LinkedList < EventObj > firedEvents , string eventname , object [ ] args )
246262 {
247- Monitor . Enter ( events ) ;
263+ monitor_Enter ( events ) ;
248264 List < Pair > lst = null ;
249265
250266 if ( ! events . TryGetValue ( eventname , out lst ) )
@@ -254,7 +270,7 @@ private static void fire_(Dictionary<string, List<Pair>> events, LinkedList<Even
254270 else
255271 Dbg . WARNING_MSG ( "Event::fireOut: event(" + eventname + ") not found!" ) ;
256272
257- Monitor . Exit ( events ) ;
273+ monitor_Exit ( events ) ;
258274 return ;
259275 }
260276
@@ -266,12 +282,12 @@ private static void fire_(Dictionary<string, List<Pair>> events, LinkedList<Even
266282 firedEvents . AddLast ( eobj ) ;
267283 }
268284
269- Monitor . Exit ( events ) ;
285+ monitor_Exit ( events ) ;
270286 }
271287
272288 public static void processOutEvents ( )
273289 {
274- Monitor . Enter ( events_out ) ;
290+ monitor_Enter ( events_out ) ;
275291
276292 if ( firedEvents_out . Count > 0 )
277293 {
@@ -283,7 +299,7 @@ public static void processOutEvents()
283299 firedEvents_out . Clear ( ) ;
284300 }
285301
286- Monitor . Exit ( events_out ) ;
302+ monitor_Exit ( events_out ) ;
287303
288304 while ( doingEvents_out . Count > 0 && ! _isPauseOut )
289305 {
@@ -311,7 +327,7 @@ public static void processOutEvents()
311327
312328 public static void processInEvents ( )
313329 {
314- Monitor . Enter ( events_in ) ;
330+ monitor_Enter ( events_in ) ;
315331
316332 if ( firedEvents_in . Count > 0 )
317333 {
@@ -323,7 +339,7 @@ public static void processInEvents()
323339 firedEvents_in . Clear ( ) ;
324340 }
325341
326- Monitor . Exit ( events_in ) ;
342+ monitor_Exit ( events_in ) ;
327343
328344 while ( doingEvents_in . Count > 0 )
329345 {
0 commit comments