Java Doc for SingleRemoveSynchronizedAddLock.java in  » Sevlet-Container » apache-tomcat-6.0.14 » org » apache » catalina » tribes » transport » bio » util » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Sevlet Container » apache tomcat 6.0.14 » org.apache.catalina.tribes.transport.bio.util 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   org.apache.catalina.tribes.transport.bio.util.SingleRemoveSynchronizedAddLock

SingleRemoveSynchronizedAddLock
public class SingleRemoveSynchronizedAddLock (Code)
The class SingleRemoveSynchronizedAddLock implement locking for accessing the queue by a single remove thread and multiple add threads. A thread is only allowed to be either the remove or an add thread. The lock can either be owned by the remove thread or by a single add thread. If the remove thread tries to get the lock, but the queue is empty, it will block (poll) until an add threads adds an entry to the queue and releases the lock. If the remove thread and add threads compete for the lock and an add thread releases the lock, then the remove thread will get the lock first. The remove thread removes all entries in the queue at once and proceeses them without further polling the queue. The lock is not reentrant, in the sense, that all threads must release an owned lock before competing for the lock again!
author:
   Rainer Jung
author:
   Peter Rossbach
version:
   1.1



Constructor Summary
public  SingleRemoveSynchronizedAddLock()
    
public  SingleRemoveSynchronizedAddLock(boolean dataAvailable)
    

Method Summary
public synchronized  voidabortRemove()
    
public synchronized  longgetAddWaitTimeout()
    
public synchronized  longgetRemoveWaitTimeout()
    
public synchronized  booleanisAddLocked()
     Check if an add thread owns the lock.
public synchronized  booleanisDataAvailable()
     Check if the locked object has data available i.e.
public synchronized  booleanisRemoveLocked()
     Check if the remove thread owns the lock.
public synchronized  booleanisRemovePolling()
     Check if the remove thread is polling.
public synchronized  voidlockAdd()
     Acquires the lock by an add thread and sets the add flag.
public synchronized  booleanlockRemove()
     Acquires the lock by the remove thread and sets the remove flag.
public synchronized  voidsetAddWaitTimeout(long timeout)
    
public synchronized  voidsetRemoveWaitTimeout(long timeout)
    
public synchronized  voidunlockAdd(boolean dataAvailable)
     Releases the lock by an add thread and reset the remove flag.
public synchronized  voidunlockRemove()
     Releases the lock by the remove thread and reset the add flag.


Constructor Detail
SingleRemoveSynchronizedAddLock
public SingleRemoveSynchronizedAddLock()(Code)



SingleRemoveSynchronizedAddLock
public SingleRemoveSynchronizedAddLock(boolean dataAvailable)(Code)




Method Detail
abortRemove
public synchronized void abortRemove()(Code)
Abort any polling remover thread



getAddWaitTimeout
public synchronized long getAddWaitTimeout()(Code)
Value of addWaitTimeout



getRemoveWaitTimeout
public synchronized long getRemoveWaitTimeout()(Code)
Value of removeWaitTimeout



isAddLocked
public synchronized boolean isAddLocked()(Code)
Check if an add thread owns the lock. True iff an add thread owns the lock.



isDataAvailable
public synchronized boolean isDataAvailable()(Code)
Check if the locked object has data available i.e. the remover can stop poling and get the lock. True iff the lock Object has data available.



isRemoveLocked
public synchronized boolean isRemoveLocked()(Code)
Check if the remove thread owns the lock. True iff the remove thread owns the lock.



isRemovePolling
public synchronized boolean isRemovePolling()(Code)
Check if the remove thread is polling. True iff the remove thread is polling.



lockAdd
public synchronized void lockAdd()(Code)
Acquires the lock by an add thread and sets the add flag. If any add thread or the remove thread already acquired the lock this add thread will block until the lock is released.



lockRemove
public synchronized boolean lockRemove()(Code)
Acquires the lock by the remove thread and sets the remove flag. If any add thread already acquired the lock or the queue is empty, the remove thread will block until the lock is released and the queue is not empty.



setAddWaitTimeout
public synchronized void setAddWaitTimeout(long timeout)(Code)
Set value of addWaitTimeout



setRemoveWaitTimeout
public synchronized void setRemoveWaitTimeout(long timeout)(Code)
Set value of removeWaitTimeout



unlockAdd
public synchronized void unlockAdd(boolean dataAvailable)(Code)
Releases the lock by an add thread and reset the remove flag. If the reader thread is polling, notify it.



unlockRemove
public synchronized void unlockRemove()(Code)
Releases the lock by the remove thread and reset the add flag. Notify all waiting add threads, that the lock has been released by the remove thread.



Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

w_w_w___.___j___a___va2___s__._c_om | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.