知识大全 Java多线程如何防止主线的阻塞

Posted

篇首语:谁和我一样用功,谁就会和我一样胜利。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java多线程如何防止主线的阻塞相关的知识,希望对你有一定的参考价值。

Java多线程如何防止主线的阻塞  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  Java多线程在我们尽情的使用中存在着很多的问题 首先就是如何解决主线的阻塞问题 看完下面的代码希望你对此有所启发 在不断的学习中才能有更好的技术突破 Java多线程防止主线阻塞代码如下

   if(e getSource()==startItem)

   //运行多线程爬虫

   stateLabel setText( 运行中 );

   try

   URL url_url=new URL(web_url);

   web_host=url_url getHost();

   catch (MalformedURLException e )

   e printStackTrace();

  

   if(tpool==null)

  

   // System out println( 运行 );

   new Thread(

   new Runnable()

   public void run()

  

   //要在另一个线程做得事情

   // System out println( 啦啦啦啦 );

   tpool=new ThreadPoolExecutor(minN maxN aliveT

   TimeUnit SECONDS

   new LinkedBlockingQueue<Runnable>()/*

   new ThreadPoolExecutor CallerRunsPolicy()*/);

   //editor_pane setText( 创建线程池:<br> );

   String tempstr= <hr> +

   创建线程池: +

   <br>设置最小线程数目 +minN+

   <br>设置最大线程数目 +maxN+

   <br>设置空闲线程存活时间(秒) +aliveT+

   <br>设置阻塞线程队列大小为 +blockQN+

   <hr> +

   设置本地映射目录为 +

   <br> +dir_path+

   <hr> +

   <br>爬取入口网页为 +

   <br> +web_url+ <hr> ;

   setEditorContent(false tempstr);

   addToUnProQ(web_url);

   String geturl=null;

   getPage gt=null;

   while((!isUnProQEmpty())||!tpool isTerminated())

  //有没有处理的连接或者tpool没有结束

   //如果 还有连接没有被处理

   geturl=delFromUnProQ();

   if(geturl!=null)

  

   addToProQ(geturl);

   gt=new getPage(geturl);

   tpool execute(gt);

  

   try //等待 秒 以便在队列中能够有更多的链接

   Thread sleep((long)(Math random()* ));

   catch (InterruptedException e )

   e printStackTrace();

  

  

   tpool shutdown();

   tpool=null;

   stateLabel setText( 欢迎使用本网站结构分析软件 );

   //setEditorContent(true shuoming);

  

   ) start();

  

   else

  

   showMessageBox( 已经开始运行了 不要乱按了

  闲得慌就到网站看文章去吧 );

   String d = explorer ;

   try

   Runtime getRuntime() exec(d);

   catch (IOException e )

   e printStackTrace();

  

  

  

cha138/Article/program/Java/gj/201311/27572

相关参考

知识大全 java阻塞队列 线程同步合作

  Queue接口与ListSet同一级别都是继承了Collection接口LinkedList实现了Queue接口Queue接口窄化了对LinkedList的方法的访问权限(即在方法中的参数类型如果

知识大全 java nio 开发实例

  首先了解下所谓的javanio是个什么东西!  传统的并发型服务器设计是利用阻塞型网络I/O以多线程的模式来实现的然而由  于系统常常在进行网络读写时处于阻塞状态会大大影响系统的性能自Java开始

知识大全 Java的多线程-实现多线程及线程的同步

Java的多线程-实现多线程及线程的同步  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一.实现

知识大全 Java多线程编程基础之线程和多线程

Java多线程编程基础之线程和多线程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  随着计算机技

知识大全 Java多线程如何创建多个线程

Java多线程如何创建多个线程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Java多线程的同

知识大全 超线程多核心下Java多线程编程分析

超线程多核心下Java多线程编程分析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一Java环

知识大全 超线程多核心下Java多线程编程技术分析[4]

超线程多核心下Java多线程编程技术分析[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb

知识大全 超线程多核心下Java多线程编程技术分析[3]

超线程多核心下Java多线程编程技术分析[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb

知识大全 超线程多核心下Java多线程编程技术分析[1]

超线程多核心下Java多线程编程技术分析[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb

知识大全 超线程多核心下Java多线程编程技术分析[2]

超线程多核心下Java多线程编程技术分析[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb