📄 boundedlinkedqueue.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.4.2_03) on Mon May 31 21:03:10 EDT 2004 -->
<TITLE>
BoundedLinkedQueue (DbUnit 2.1 API)
</TITLE>
<META NAME="keywords" CONTENT="org.dbunit.util.concurrent.BoundedLinkedQueue class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="BoundedLinkedQueue (DbUnit 2.1 API)";
}
</SCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A><A HREF="#skip-navbar_top" title="Skip navigation links"></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BoundedLinkedQueue.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../org/dbunit/util/concurrent/BoundedChannel.html" title="interface in org.dbunit.util.concurrent"><B>PREV CLASS</B></A>
<A HREF="../../../../org/dbunit/util/concurrent/Channel.html" title="interface in org.dbunit.util.concurrent"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>
<A HREF="BoundedLinkedQueue.html" target="_top"><B>NO FRAMES</B></A>
<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A><!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.dbunit.util.concurrent</FONT>
<BR>
Class BoundedLinkedQueue</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>org.dbunit.util.concurrent.BoundedLinkedQueue</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/dbunit/util/concurrent/BoundedChannel.html" title="interface in org.dbunit.util.concurrent">BoundedChannel</A>, <A HREF="../../../../org/dbunit/util/concurrent/Channel.html" title="interface in org.dbunit.util.concurrent">Channel</A>, <A HREF="../../../../org/dbunit/util/concurrent/Puttable.html" title="interface in org.dbunit.util.concurrent">Puttable</A>, <A HREF="../../../../org/dbunit/util/concurrent/Takable.html" title="interface in org.dbunit.util.concurrent">Takable</A></DD>
</DL>
<HR>
<DL>
<DT>public class <B>BoundedLinkedQueue</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../org/dbunit/util/concurrent/BoundedChannel.html" title="interface in org.dbunit.util.concurrent">BoundedChannel</A></DL>
<P>
A bounded variant of LinkedQueue class. This class may be preferable to BoundedBuffer because it allows a bit more concurency among puts and takes, because it does not pre-allocate fixed storage for elements, and allows capacity to be dynamically reset. On the other hand, since it allocates a node object on each put, it can be slow on systems with slow allocation and GC. Also, it may be preferable to LinkedQueue when you need to limit the capacity to prevent resource exhaustion. This protection normally does not hurt much performance-wise: When the queue is not empty or full, most puts and takes are still usually able to execute concurrently.
<P>
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../org/dbunit/util/concurrent/LinkedQueue.html" title="class in org.dbunit.util.concurrent"><CODE>LinkedQueue</CODE></A>, <A HREF="../../../../org/dbunit/util/concurrent/BoundedBuffer.html" title="class in org.dbunit.util.concurrent"><CODE><p>[<a href="http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html"> Introduction to this package. </a>] <p></CODE></A></DL>
<HR>
<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Field Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/dbunit/util/concurrent/BoundedLinkedQueue.html#capacity_">capacity_</A></B></CODE>
<BR>
Number of elements allowed</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected <A HREF="../../../../org/dbunit/util/concurrent/LinkedNode.html" title="class in org.dbunit.util.concurrent">LinkedNode</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/dbunit/util/concurrent/BoundedLinkedQueue.html#head_">head_</A></B></CODE>
<BR>
Dummy header node of list.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected <A HREF="../../../../org/dbunit/util/concurrent/LinkedNode.html" title="class in org.dbunit.util.concurrent">LinkedNode</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/dbunit/util/concurrent/BoundedLinkedQueue.html#last_">last_</A></B></CODE>
<BR>
The last node of list.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/dbunit/util/concurrent/BoundedLinkedQueue.html#putGuard_">putGuard_</A></B></CODE>
<BR>
Helper monitor.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/dbunit/util/concurrent/BoundedLinkedQueue.html#putSidePutPermits_">putSidePutPermits_</A></B></CODE>
<BR>
One side of a split permit count.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/dbunit/util/concurrent/BoundedLinkedQueue.html#takeGuard_">takeGuard_</A></B></CODE>
<BR>
Helper monitor.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/dbunit/util/concurrent/BoundedLinkedQueue.html#takeSidePutPermits_">takeSidePutPermits_</A></B></CODE>
<BR>
Number of takes since last reconcile</TD>
</TR>
</TABLE>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/dbunit/util/concurrent/BoundedLinkedQueue.html#BoundedLinkedQueue()">BoundedLinkedQueue</A></B>()</CODE>
<BR>
Create a queue with the current default capacity</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/dbunit/util/concurrent/BoundedLinkedQueue.html#BoundedLinkedQueue(int)">BoundedLinkedQueue</A></B>(int capacity)</CODE>
<BR>
Create a queue with the given capacity</TD>
</TR>
</TABLE>
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/dbunit/util/concurrent/BoundedLinkedQueue.html#allowTake()">allowTake</A></B>()</CODE>
<BR>
Notify a waiting take if needed</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/dbunit/util/concurrent/BoundedLinkedQueue.html#capacity()">capacity</A></B>()</CODE>
<BR>
Return the current capacity of this queue</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/dbunit/util/concurrent/BoundedLinkedQueue.html#extract()">extract</A></B>()</CODE>
<BR>
Main mechanics for take/poll</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/dbunit/util/concurrent/BoundedLinkedQueue.html#insert(java.lang.Object)">insert</A></B>(java.lang.Object x)</CODE>
<BR>
Create and insert a node.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/dbunit/util/concurrent/BoundedLinkedQueue.html#isEmpty()">isEmpty</A></B>()</CODE>
<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/dbunit/util/concurrent/BoundedLinkedQueue.html#offer(java.lang.Object, long)">offer</A></B>(java.lang.Object x, long msecs)</CODE>
<BR>
Place item in channel only if it can be accepted within msecs milliseconds.</TD>
</TR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -