In the event dispatcher to use an example: The incident occurred as follows Event-a1, Event-b1, Event-a2; Event-a1, and Event-a2 is the same event to create a file, Event-b1 is to delete the file; 1, receives the Event-a1 after the incident, the event dispatcher to create a thread Thread-a1 to register plug-in call handling functions, if in the process, there were Event-b1 and Event-a2 2 events; 2, the event dispatcher at the same time created a Thread-b1 and Thread-a2 2 event handling thread, competitive registration of plug-in processing functions, if the order of the first thread from the Thread-b1 treatment, and then thread Thread-a2, This is no problem; Thread-a2 thread if it is to be registered first plug-in lock, there will be a logic error. Event Dispatcher models should therefore make the appropriate amendments.
The other example is usb storage hotplug.
|