当前位置: 首页 > news >正文

做中介最好用的网站wordpress淘宝客采集

做中介最好用的网站,wordpress淘宝客采集,网络平台,长沙做网站的费用1、继承Thread类实现多线程 继承Thread类的方法尽管被我列为一种多线程实现方式#xff0c;但Thread本质上也是实现了Runnable接口的一个实例#xff0c;它代表一个线程的实例#xff0c;并且#xff0c;启动线程的唯一方法就是通过Thread类的start()实例方法。start()方法… 1、继承Thread类实现多线程 继承Thread类的方法尽管被我列为一种多线程实现方式但Thread本质上也是实现了Runnable接口的一个实例它代表一个线程的实例并且启动线程的唯一方法就是通过Thread类的start()实例方法。start()方法是一个native方法它将启动一个新线程并执行run()方法。这种方式实现多线程很简单通过自己的类直接extend Thread并复写run()方法就可以启动新线程并执行自己定义的run()方法。例如   public class MyThread extends Thread { public void run() { System.out.println(MyThread.run()); } }   在合适的地方启动线程如下 MyThread myThread1 new MyThread(); MyThread myThread2 new MyThread(); myThread1.start(); myThread2.start(); 2、实现Runnable接口方式实现多线程 如果自己的类已经extends另一个类就无法直接extends Thread此时必须实现一个Runnable接口如下 public class MyThread extends OtherClass implements Runnable { public void run() { System.out.println(MyThread.run()); } } 为了启动MyThread需要首先实例化一个Thread并传入自己的MyThread实例 MyThread myThread new MyThread(); Thread thread new Thread(myThread); thread.start(); 事实上当传入一个Runnable target参数给Thread后Thread的run()方法就会调用target.run()参考JDK源代码 public void run() { if (target ! null) { target.run(); } }   3、使用ExecutorService、Callable、Future实现有返回结果的多线程 ExecutorService、Callable、Future这个对象实际上都是属于Executor框架中的功能类。想要详细了解Executor框架的可以访问http://www.javaeye.com/topic/366591 这里面对该框架做了很详细的解释。返回结果的线程是在JDK1.5中引入的新特征确实很实用有了这种特征我就不需要再为了得到返回值而大费周折了而且即便实现了也可能漏洞百出。 可返回值的任务必须实现Callable接口类似的无返回值的任务必须Runnable接口。执行Callable任务后可以获取一个Future的对象在该对象上调用get就可以获取到Callable任务返回的Object了再结合线程池接口ExecutorService就可以实现传说中有返回结果的多线程了。下面提供了一个完整的有返回结果的多线程测试例子在JDK1.5下验证过没问题可以直接使用。代码如下 package MavenTest.maven_demo_web;import java.util.concurrent.*;import java.util.Date;import java.util.List;import java.util.ArrayList;/*** 有返回值的线程*/public class Test {public static void main(String[] args) throws ExecutionException,    InterruptedException {   System.out.println(----程序开始运行----);   Date date1 new Date();   int taskSize 5;//同时开启的线程数量   // 创建一个线程池   ExecutorService pool Executors.newFixedThreadPool(taskSize);   // 创建多个有返回值的任务   ListFutureObject list new ArrayListFutureObject();   ListMyCallable listCallable new ArrayListMyCallable();   for (int i 0; i 10; i) {     MyCallable callableTask new MyCallable(i );    listCallable.add(callableTask);   }// 执行任务并获取Future对象   list pool.invokeAll(listCallable);   // 关闭线程池   pool.shutdown();   // 获取所有并发任务的运行结果   for (Future f : list) {    // 从Future对象上获取任务的返回值并输出到控制台    System.out.println( f.get().toString());   }   Date date2 new Date();   System.out.println(----程序结束运行----程序运行时间【     (date2.getTime() - date1.getTime()) 毫秒】);}}class MyCallable implements CallableObject {private String taskNum;MyCallable(String taskNum) {   this.taskNum taskNum;}public Object call() throws Exception {   System.out.println( taskNum 任务启动);   Date dateTmp1 new Date();   Thread.sleep(1000);   Date dateTmp2 new Date();   long time dateTmp2.getTime() - dateTmp1.getTime();   System.out.println( taskNum 任务终止);   return taskNum 任务返回运行结果,当前任务时间【 time 毫秒】;}} 代码说明 上述代码中Executors类提供了一系列工厂方法用于创先线程池返回的线程池都实现了ExecutorService接口。 public static ExecutorService newFixedThreadPool(int nThreads) 创建固定数目线程的线程池。 public static ExecutorService newCachedThreadPool() 创建一个可缓存的线程池调用execute 将重用以前构造的线程如果线程可用。如果现有线程没有可用的则创建一个新线程并添加到池中。终止并从缓存中移除那些已有 60 秒钟未被使用的线程。 public static ExecutorService newSingleThreadExecutor() 创建一个单线程化的Executor。 public static ScheduledExecutorService newScheduledThreadPool(int corePoolSize) 创建一个支持定时及周期性的任务执行的线程池多数情况下可用来替代Timer类。 ExecutoreService提供了submit()方法传递一个Callable或Runnable返回Future。如果Executor后台线程池还没有完成Callable的计算这调用返回Future对象的get()方法会阻塞直到计算完成。 转载于http://www.cnblogs.com/yezhenhan/archive/2012/01/09/2317636.html   转载于:https://www.cnblogs.com/zy-jiayou/p/7249858.html
http://www.pierceye.com/news/350160/

相关文章:

  • 高端包装设计优化 英语
  • 佛山新网站建设方案笔记本做网站服务器
  • c 企业网站开发杭州百度人工优化
  • 瑞安公司网站建设wordpress 主题和插件下载失败
  • 茶楼网站模板wordpress后台图
  • 做网站的流程方法wordpress 导航栏 排序
  • 当当网书店网站建设案例照片制作相册
  • 手机网站空间wordpress改微博系统
  • 东莞阿里网站设计泰安网站营销推广
  • 网站可以换域名吗北京建站公司兴田德润很好
  • 烟台做网站建设大宗商品交易平台是什么
  • 网站安全建设目标昆明网站制作企业
  • 个人网站更换域名企业网站建设套餐价格
  • 什么网站做海宁的房产好自己做软件 做网站需要学会哪些
  • 品牌网站建设浩森宇特软件工程师年薪多少
  • 做网站没有数据库ppt模板制作免费
  • 网站建设代码合同重庆住房和城乡建设部网站的打印准考证
  • 天气网站建设wordpress yasaer
  • 无忧网络网站建设响应式网页设计技术有哪些
  • 非常好的网站建设公司上海如何批量建站
  • 珠海市官网网站建设品牌深圳创业补贴去哪里申请
  • 建立传媒公司网站wordpress 农场主题
  • 如何用ps做网站导航条劳保用品 技术支持 东莞网站建设
  • 网站数据库迁移背景图网站
  • 1 网站建设的目标是什么密码管理系统admin
  • 深圳专业企业网站制作哪家好wordpress ality
  • 网站开发毕业设计摘要范文国际空间站
  • 网站做区块链然后往里面投钱ecms dedecms phpcms wordpress
  • 网站设计原型图wap712c
  • 敦煌手机网站设计wordpress搭建像册