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

个人简历 网站开发建筑网库

个人简历 网站开发,建筑网库,西安百度搜索排名,个人博客网站怎么建立多线程使用 在java中#xff0c;多线程得主要实现方式有四种#xff1a;继承Thread类#xff0c;实现Runnable接口、实现callable接口通过FutureTask包装器来创建Thread线程#xff0c;使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执…多线程使用 在java中多线程得主要实现方式有四种继承Thread类实现Runnable接口、实现callable接口通过FutureTask包装器来创建Thread线程使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值而后两种是带返回值的。除此之外通过Timer启动定时任务或者通过像Spring Task和quartz这样的第三方任务调度框架也可以开启多线程任务 继承Thread类创建线程 Thread类本质上也是实现了Runnable接口的一个实例代表一个线程的实例。启动线程的唯一方法就是通过Thread类的start()实例方法。start()方法是一个native方法它将启动一个新线程并执行run()方法。这种方式实现多线程比较简单通过继承Thread类并复写run()方法就可以启动新线程并执行自己定义的run()方法 public class ThreadDemo extends Thread {public ThreadDemo(String name) {// 设置当前线程的名字this.setName(name);}Overridepublic void run() {System.out.println(当前运行的线程名为 Thread.currentThread().getName());}public static void main(String[] args) throws Exception {// 注意这里要调用start方法才能启动线程不能调用run方法new ThreadDemo(MyThreadOne).start();new ThreadDemo(MyThreadTwo).start();}} 输出结果 当前运行的线程名为 MyThreadOne 当前运行的线程名为 MyThreadTwo 实现Runnable接口创建线程 由于Java是单继承机制如果自己的类已经继承自另一个类则无法再直接继承Thread类此时可以通过实现Runnable接口来实现多线程。 实现Runnable接口并实现其中的run方法然后通过构造Thread实例传入Runnable实现类然后调用Thread的start方法即可开启一个新线程。 public class MyRunnable implements Runnable {Overridepublic void run() {System.out.println(当前运行的线程名为 Thread.currentThread().getName());}public static void main(String[] args) throws Exception {MyRunnable runnable new MyRunnable();new Thread(runnable, MyThreadOne).start();new Thread(runnable, MyThreadTwo).start();}} 输出结果 当前运行的线程名为 MyThreadOne 当前运行的线程名为 MyThreadTwo 线程池使用  线程池本质是池化技术的应用和连接池类似创建连接与关闭连接属于耗时操作创建线程与销毁线程也属于重操作为了提高效率先提前创建好一批线程当有需要使用线程时从线程池取出用完后放回线程池这样避免了频繁创建与销毁线程。 核心参数 线程池的核心参数决定了池的类型进而决定了池的特性。 参数解释行为corePoolSize核心线程数池中长期维护的线程数量不主动回收maximumPoolSize最大线程数最大线程数大于等于核心线程数keepAliveTime线程最大空闲时间非核心线程最大空闲时间超时回收线程workQueue工作队列工作队列直接决定线程池的类型 Executors类默认创建线程池与参数对应关系。 线程池corePoolSizemaximumPoolSizekeepAliveTimeworkQueuenewCachedThreadPool0Integer.MAX_VALUE60SynchronousQueuenewSingleThreadExecutor110LinkedBlockingQueuenewFixedThreadPoolNN0LinkedBlockingQueuenewScheduledThreadPoolNInteger.MAX_VALUE0DelayedWorkQueue 线程池对比 线程池特点适用场景newCachedThreadPool超时未使用的线程回自动销毁有新任务时自动创建适用于低频、轻量级的任务。回收线程的目的是节约线程长时间空闲而占有的资源。newSingleThreadExecutor线程池中有且只有一个线程顺序执行任务newFixedThreadPool线程池中有固定数量的线程且一直存在适用于高频的任务即线程在大多数时间里都处于工作状态。newScheduledThreadPool定时线程池与定时调度相关联 https://segmentfault.com/a/1190000041661118
http://www.sadfv.cn/news/309202/

相关文章:

  • 什么的网站策划利用网络媒体营销来做电商网站论文
  • 在线网站推荐几个最近中文字幕2019视频1
  • 珠海网站设计网络优化中国建设银行网站地址
  • 高端品销售网站电商数据统计网站
  • 龙凤网站建设云聚达住房和城乡建设部网站投诉电话
  • 怎么通过局域网建设网站小说素材网站
  • 淘宝联盟网站模板厦门有做网站建设
  • 企业网站设计公司济南小程序开发制作
  • 制作网站书签怎么做黄页大全有哪些
  • 手机网站创建四川省住房和城乡建设局网站
  • 站长之家seo施工企业安全生产评价标准jgjt77破解版
  • 网站排名优化软件电话站酷网怎么接单赚钱
  • 做网站可以赚钱么网上书城网站开发方案
  • 赤峰做网站建设的企业用vps建网站备案
  • 有域名怎样建设网站杭州专业做网站的公司哪家好
  • 高端网站建设公司兴田德润在那里一般人公司注册费用
  • 昆明网站推广wordpress网站速度检测
  • 专业网站建设兴田德润wordpress调用热评文章
  • 跨境电商网站建设现货交易平台排行榜
  • 网站设计活动主题东莞快速做网站
  • wap网站生成微信小程序做公司网站有用吗
  • 下载建设app广州网站建设实力乐云seo
  • wordpress调用 别的网站建设局官网查询系统
  • 网站后台管理需求电商的运营模式有几种
  • 个人做网站的时代已经过去门户网站建设不断
  • 青海住房和城乡建设部网站婚纱网站设计首页
  • 西安网站制作设计找哪家wordpress首页轮播图
  • 上海的建设网站设计室内装修效果图
  • 体验好的网站怀化火车站网站
  • django做的网站举例wordpress登录后台404