• Thread和ExecutorService(一)


    ExecutorService是Java并发包里面的一个线程池服务
     
    线程池的优点
    • 复用已有的线程,消除任务中创建线程的开销
    • 通过优化线程的数量,提高性能,保证处理器一直处于忙的状态,而不必创建这么多的线程,使程序耗尽资源
     
    首先可以带着以下观点一步一步看,之所以划掉是因为第二条理论不成立...
     
    在18.4.2的练习中,我发现用Thread对象来执行一个线程和线程池管理执行线程的一个有趣的特点:
    • Thread对象是自发销毁的,或由GC或由什么玩意儿,自发的回收线程对象(当线程中的任务执行完成时)。
    • ExecutorService,用线程池来管理线程的话,得注意shutdown掉线程池,因为即使线程池中的线程对象执行完自身任务之后,依然处于running状态,他们已经"身不由己"了;并且,当主线程已经执行完,我们并没有手动关闭线程池的话,ExecutorService依然存在,里面的线程对象,还有线程池对象,甚至还多出一个destroyVM的执行线程都会一直running,这是很可怕的...
     
    用Thread对象来执行线程
     
     
    使用线程池(ExecutorService)来管理线程
     
     
     
     
     
    嗯。。我的生产消费者还没写呢。。同学叫撸了。。尼玛。。我是个败类。。匿了。。
  • 相关阅读:
    iOS.UI_正则表达式(特殊字符)
    iOS.UI_正则(电话号码)
    iOS远程推送h获取Token
    CoreData教学完整版(封装我们自己的CoreData工具)_Dylan
    Swift基础加强_跟我打500行
    xmpp好友请求5
    XMPP教学小结1
    xmpp好友状态4
    XMPP好友列表3
    XMPP收发消息2
  • 原文地址:https://www.cnblogs.com/H-Col/p/4858792.html
Copyright © 2020-2023  润新知