zoukankan      html  css  js  c++  java
  • Thread和ExecutorService(一)

    ExecutorService是Java并发包里面的一个线程池服务
     
    线程池的优点
    • 复用已有的线程,消除任务中创建线程的开销
    • 通过优化线程的数量,提高性能,保证处理器一直处于忙的状态,而不必创建这么多的线程,使程序耗尽资源
     
    首先可以带着以下观点一步一步看,之所以划掉是因为第二条理论不成立...
     
    在18.4.2的练习中,我发现用Thread对象来执行一个线程和线程池管理执行线程的一个有趣的特点:
    • Thread对象是自发销毁的,或由GC或由什么玩意儿,自发的回收线程对象(当线程中的任务执行完成时)。
    • ExecutorService,用线程池来管理线程的话,得注意shutdown掉线程池,因为即使线程池中的线程对象执行完自身任务之后,依然处于running状态,他们已经"身不由己"了;并且,当主线程已经执行完,我们并没有手动关闭线程池的话,ExecutorService依然存在,里面的线程对象,还有线程池对象,甚至还多出一个destroyVM的执行线程都会一直running,这是很可怕的...
     
    用Thread对象来执行线程
     
     
    使用线程池(ExecutorService)来管理线程
     
     
     
     
     
    嗯。。我的生产消费者还没写呢。。同学叫撸了。。尼玛。。我是个败类。。匿了。。
  • 相关阅读:
    在linux下使用sqlcmd
    sqlserver 索引的结构及其存储,索引内容
    据库被标记为RESTORING的处理方式,正在还原中,正在恢复
    sql语句的优化分析
    SQL Server表分区-水平分区
    JavaScript Structure
    JS----Issue
    JavaScript Book Plan
    LINQ
    About JavaScript
  • 原文地址:https://www.cnblogs.com/H-Col/p/4858792.html
Copyright © 2011-2022 走看看