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

企业做网站需注意什么有效的网站建设公司

企业做网站需注意什么,有效的网站建设公司,重庆seo网络推广,建立网站大概投入一、线程的创建方式有几种 创建线程的方式有两种#xff0c;一种是继承Thread#xff0c;一种是实现Runable 在这里推荐使用实现Runable接口#xff0c;因为java是单继承的#xff0c;一个类继承了Thread将无法继承其他的类#xff0c;而java可以实现多个接口#xff0…一、线程的创建方式有几种 创建线程的方式有两种一种是继承Thread一种是实现Runable 在这里推荐使用实现Runable接口因为java是单继承的一个类继承了Thread将无法继承其他的类而java可以实现多个接口所有如果实现了Runable接口后还可以实现其他的接口 二、说下Thread的几种状态以及它们之间的一个状态转换 线程总共有5种状态 新建状态NEW 当程序使用 new 关键字创建了一个线程之后该线程就处于新建状态此时仅由 JVM 为其分配内存并初始化其成员变量的值此时就是一个普通的Java对象 就绪状态RUNNABLE 当线程对象调用了 start()方法之后该线程处于就绪状态Java 虚拟机会为其创建方法调用栈和程序计数器等待CPU调度运行 运行状态RUNNING 如果处于就绪状态的线程获得了 CPU开始执行 run()方法的线程执行体则该线程处于运行状态 阻塞状态BLOCKED 阻塞状态是指线程因为某种原因放弃了 cpu 使用权也即让出了 cpu 时间片暂时停止运行。直到线程进入可运行(runnable)状态才有机会再次获得 cpu 时间片 转到运行状态 线程死亡DEAD run()或 call()方法执行完成线程正常结束线程抛出一个未捕获的 Exception 或 Error直接调用该线程的 stop()方法来结束该线程—该方法通常容易导致死锁不推荐使用 线程状态转换 三、说一下sleep与wait的区别 对于 sleep()方法我们首先要知道该方法是属于 Thread 类中的而 wait()方法则是属于Object类中的。sleep()方法导致了程序暂停执行指定的时间让出 cpu 给其他线程但是他的监控状态依然保持者当指定的时间到了又会自动恢复运行状态。在调用 sleep()方法的过程中线程不会释放对象锁。而当调用 wait()方法的时候线程会放弃对象锁进入等待此对象的等待锁定池只有针对此对象调用 notify()方法后本线程才进入对象锁定池准备获取对象锁进入运行状态 四、为什么要使用线程池使用线程池的好处是什么 线程池的工作主要是控制运行线程的数量处理过程中将任务放入队列然后在线程创建后启动这些任务如果线程数量超过了最大数量超出数量的线程排队等候等其他线程执行完毕再从队列中取出任务来执行。 特点线程复用控制最大并发数管理线程。 1. 降低资源消耗。2. 提高响应速度。3. 提高线程的可管理性。 五、看过线程池的源码简单说下线程池的执行流程 流程如下 六、说下线程池的常用参数 1. corePoolSize核心线程数量会一直存在除非allowCoreThreadTimeOut设置为true2. maximumPoolSize线程池允许的最大线程池数量3. keepAliveTime线程数量超过corePoolSize空闲线程的最大超时时间4. unit超时时间的单位5. workQueue工作队列保存未执行的Runnable 任务6. threadFactory创建线程的工厂类7. handler当线程已满工作队列也满了的时候会被调用。被用来实现各种拒绝策略。 七、为什么不建议使用 Executors静态工厂构建线程池 Executors 工具类的不同方法按照我们的需求创建了不同的线程池来满足业务的需求,有以下几 种创建工具类的方式 1. newFixedThreadPool(int Threads)创建固定数目的线程池2. newSingleThreadPoolExecutor():创建一个单线程化的Executor3. newCacheThreadPool():创建一个可缓存的线程池调用execute将重用以前构成的线程如果线程可用如果没有可用的线程则创建一个新线程并添加到池中。终止并从缓存中移出那些已有60秒钟未被使用的线程。4. newScheduledThreadPool(int corePoolSize)创建一个支持定时及周期性的任务执行的线程池 线程池不允许使用Executors去创建而是通过ThreadPoolExecutor的方式这样的处理方式让写的目的是为了更加明确线程池的运行规则规避资源耗尽的风险 八、如何合理的定制线程池 1. CPU密集型任务应配置尽可能小的线程如配置Ncpu1个线程的线程池。2. IO密集型任务线程并不是一直在执行任务则应配置尽可能多的线程如2*Ncpu。3. 混合型的任务如果可以拆分将其拆分成一个CPU密集型任务和一个IO密集型任务只要这两个任务执行的时间相差不是太大那么分解后执行的吞吐量将高于串行执行的吞吐量。如果这两个任务执行时间相差太大则没必要进行分解。 注Ncpu指的是计算机CPU核数可以通过Runtime.getRuntime().availableProcessors() 方法获得当前设备的CPU个数。
http://www.w-s-a.com/news/842137/

相关文章:

  • 荆州网站建设多少钱南阳做网站推广
  • 网站代理打开个人网站设计源码
  • 做php网站的话要学什么语言wordpress搜索不到
  • 金华官方网站建设网络营销策划模板
  • 网站开发到上线在线生成小程序
  • 动易网站设计方案郑州营销网站建设
  • 怎么上网站做简易注销的步骤郑州大学现代远程教育《网页设计与网站建设》课程考核要求
  • 新乡网站建设新乡长沙本地论坛有哪些
  • 潍坊中企动力做的网站怎么样wordpress接入微博
  • 网站开发者所有权归属网站项目建设的必要性
  • 菜鸟网站编程广州网站设计权威乐云践新
  • 网站做接口到app 价格大地资源免费视频观看
  • 怎么给钓鱼网站做防红网站建设相关的
  • 教育培训的网站建设湖南网站建设小公司
  • 福建南平网站建设创意交易平台网
  • 做直播网站要哪些技术内容营销理论
  • 价格划算的网站开发怎么找有赞做网站
  • 做网站店铺图片用什么软件网络营销方案格式
  • 做外贸要自己建网站吗有效的网络营销方式
  • 精通网站开发书籍做网站获取手机号码
  • 论坛做视频网站有哪些济南新站seo外包
  • 哪类型网站容易做冷水滩做微网站
  • 搭建企业网站流程保定徐水网站建设
  • 建设单位到江川区住房和城乡建设局网站伦敦 wordpress 设计
  • 响应式网站的服务麦德龙网站建设目标
  • 做国外单的网站叫什么海南省海口市网站建设
  • 杭州响应式网站案例wordpress5.2.2
  • 网站建设运营维护合同wordpress资源搜索插件
  • 国外网站流量查询东莞网站建设教程
  • 餐饮类网站建设达到的作用东莞工程建设交易中心网