Inventors:
Donald Fred Ault - Hyde Park NY, US
Ernest Scott Bender - Saugerties NY, US
Jon Kevin Franks - Saugerties NY, US
John Arthur Helmbold - Kingston NY, US
Assignee:
International Business Machines Corporation - Armonk NY
International Classification:
G06F 9/44
Abstract:
In response to the detection of an external event by the first thread, the first thread sends a quiesce event to each additional thread of the application and suspends execution. The quiesce event may be either a suspension event requesting suspension of the additional threads or a termination event requesting termination of the additional threads. Each additional thread, upon receiving the quiesce event, checks its environment to determine whether it is holding any critical system resource. If the additional thread determines that is not holding any critical system resource and that it is therefore safe to quiesce, the additional thread quiesces. Before quiescing, the last additional thread to quiesce resumes the first thread, which is now free to perform critical operations without interference from the additional threads. If the quiesce type is suspension, the first thread resumes the additional threads upon completing its critical operations, whereupon the application resumes its normal operation.