⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 prioritybuffertest.java

📁 java版ace,java程序员值得一看
💻 JAVA
字号:
// ============================================================================//// = PACKAGE//    tests.ASX// // = FILENAME//    PriorityBufferTest.java//// = AUTHOR//    Prashant Jain// // ============================================================================package JACE.tests.ASX;import java.io.*;import JACE.OS.*;import JACE.ASX.*;class consumer extends Thread{  public void run ()    {      MessageBlock mb = null;      long curPriority = 0;      int length = 0;      try	{	  // Keep looping, reading a message out of the queue, until we	  // get a message with a length == 0, which signals us to quit.	  for (;;)	    {	      if ((mb = PriorityBufferTest.msgQueue.dequeueHead ()) == null)		break;	      	      length = mb.length ();	      curPriority = mb.msgPriority ();	      	      if (length > 0)		ACE.DEBUG ("Consumer: removed item \"" + mb.base () + "\" of priority: " + curPriority);	      	      if (length == 0)		break;	    }	}      catch (InterruptedException e)	{	}    }}class producer extends Thread{  producer (int delay)    {      this.delay_ = delay;    }  public void run ()    {      try 	{	  long count = 0;	  for (char c = 'a'; c <= 'z'; c++)	    {	      count++;	      // Allocate a new message	      MessageBlock mb = new MessageBlock (new Character (c).toString ());	      // Set the priority	      mb.msgPriority (count);	  	      // Enqueue in priority order.	      if (PriorityBufferTest.msgQueue.enqueue (mb) == -1)		ACE.ERROR ("put_next");	      else		{		  ACE.DEBUG ("Producer: inserted item \"" + mb.base () + "\" of priority: " + count);		  if (this.delay_ > 0)		    this.sleep (this.delay_);		}	    }	  // Now send a 0-sized shutdown message to the other thread	  if (PriorityBufferTest.msgQueue.enqueueTail (new MessageBlock (0)) == -1)	    ACE.ERROR ("put_next");	}      catch (InterruptedException e)	{	}    }  private int delay_;}public class PriorityBufferTest{  public static MessageQueue msgQueue = new MessageQueue ();  public static void main (String args[])    {      ACE.enableDebugging ();      int delay = 0;      if (args.length == 1)	{	  try	    {	      delay = Integer.parseInt (args[0]);	    }	  catch (NumberFormatException e)	    {	      ACE.ERROR ("Illegal argument.");	    }	}      new producer (delay).start ();      new consumer ().start ();          }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -