黑马程序员技术交流社区

标题: 代码上有些问题不太清楚 [打印本页]

作者: 陶智第    时间: 2013-10-4 08:26
标题: 代码上有些问题不太清楚
本帖最后由 陶智第 于 2013-10-6 17:01 编辑

package read;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;

public class Test {
  
  public static void main(String[] args){
         
   final BlockingQueue<String> queue = new ArrayBlockingQueue<String>(16);
   
   for(int x=0; x<4; x++)
   {
    new Thread()
    {
     public void run()
     {
      while(true)                //这个地方的while语句的作用是什么?
      {
       try
       {
        String log1 = queue.take();
        Test.parseLog(log1);
       } catch (InterruptedException e)
       {
        // TODO Auto-generated catch block
        e.printStackTrace();
       }
      }
     }
    }.start();
   }
   
   System.out.println("begin:"+(System.currentTimeMillis()/1000));

   for(int i=0;i<16;i++){  
    final String log = ""+(i+1);
    {
          //Test.parseLog(log);
     try
     {
      queue.put(log);
     } catch (InterruptedException e)
     {
      // TODO Auto-generated catch block
      e.printStackTrace();
     }
    }
   }
  }
  
  public static void parseLog(String log){
   System.out.println(Thread.currentThread().getName()+":"+log+":"+(System.currentTimeMillis()/1000));
   
   try {                                                      //这里为什么要让程序休眠一秒钟
    Thread.sleep(1000);
   } catch (InterruptedException e) {
    e.printStackTrace();
   }  
  }
  
}

上面两个问题看视频的时候不太清楚。

作者: 喝龙血的我    时间: 2013-10-4 14:43
while语句的作用是为了让它里边的内容不停循环,休眠一秒是为了让结果更容易去看
作者: 喝龙血的我    时间: 2013-10-4 14:43
while语句的作用是为了让它里边的内容不停循环,休眠一秒是为了让结果更容易去看
作者: 黄文伯    时间: 2013-10-4 20:52
请将代码放在代码区内便于阅读呀,还有麻烦将“未解决”改为“已解决”呀
作者: 潘才新    时间: 2013-10-4 23:21
{:soso_e130:}加油




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2