標題: | An enhanced thread synchronization mechanism for Java |
作者: | Chiao, HT Yuan, SM 資訊工程學系 Department of Computer Science |
關鍵字: | Java (TM);thread synchronization mechanism;monitor |
公開日期: | 1-Jun-2001 |
摘要: | The thread synchronization mechanism of Java is derived from Hoare's monitor concept. In the authors' view, however, it is over simplified and suffers the following four drawbacks. First, it belongs to a category of no-priority monitor, the design of which, as reported in the literature on concurrent programming, is not well rated. Second, it offers only one condition queue. Where more than one long-term synchronization event is required, this restriction both degrades performance and further complicates the ordering problems that a no-priority monitor presents. Third, it lacks the support for building more elaborate scheduling programs. Fourth, during nested monitor invocations, deadlock may occur In this paper we first analyze these drawbacks in depth before proceeding to present our own proposal, which is a new monitor-based thread synchronization mechanism that we term EMonitor This mechanism is implemented solely by Java, thus avoiding the need for any modification to the underlying Java Virtual Machine. A preprocessor is employed to translate the EMonitor syntax into the pure Java codes that invoke the EMonitor class libraries. We conclude with a comparison of the performance of the two monitors and allow the experimental results to demonstrate that, in most cases, replacing the Java version with the EMonitor version for developing concurrent Java objects is perfectly feasible. Copyright (C) 2001 John Wiley & Sons, Ltd. |
URI: | http://dx.doi.org/10.1002/spe.383 http://hdl.handle.net/11536/29627 |
ISSN: | 0038-0644 |
DOI: | 10.1002/spe.383 |
期刊: | SOFTWARE-PRACTICE & EXPERIENCE |
Volume: | 31 |
Issue: | 7 |
起始頁: | 667 |
結束頁: | 695 |
Appears in Collections: | Articles |
Files in This Item:
If it is a zip file, please download the file and unzip it, then open index.html in a browser to view the full text content.