• 关于线程安全的一点总结


     先写一点,以后再慢慢改:

    1.synchronized(同步锁):以时间换取安全,效率低下

    2.ThreadLocal:以空间换取时间,比较消耗资源,安全

    3.单例模式用双重锁比价好,线程安全且效率还行

    4.线程的挂起有wait(被动,需要外界唤起),sleep(主动,不释放资源),当然,叫挂起好像有点不太合适,我这里只是说这个意思。唤起有:notify(他是随机唤起的),一般用nofityAll(唤起所有其他线程),更底层的可以用LocalSupport,可以控制线程的等待与开启(好像是synchronized的底层实现,具体我也没有去研究源码)

    5.Thread类,Runnable接口(Thread的底层实现,有时候不能用thread可以用runnable),Callable接口(有返回值)  

    6.原子类(automaticinteger等),用来解决多线程问题,因为其具有原子性(也就是说转换为汇编语言是一句,机器一次只会执行一个这种语句,跟我们原来学习的  

    MOVE AL,BL类似吧)

    7.线程安全的类:hashtable,enumeration,statck,vector,stringbuffer等

    8、四种线程池

    newCacheThreadPool(), 创建一个可缓存的线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,如果线程池长度小于处理需求,则新建线程
     newFixedThreadPool(),创建一个定长的线程池,可控制现场最大并发数,超出的线程会在线程队列中等待
    newScheduledThread()创建一个定长的线程池,支持定时,周期性的执行任务
    newSingleThreadExecutor(),创建一个单线程化的线程池,它只会用唯一的工作线程类执行任务,保证所有任务按照指定顺序执行;
     
     
    其他的以后想到再说
  • 相关阅读:
    多对多关系表的创建方式、forms组件
    SweetAler弹框插件与分页器插件
    Django数据库查询优化与AJAX
    django orm(2)
    Django orm(1)
    Django之视图层与模板层
    Django之路由层
    初识Django之前端后端与数据库的配置
    面试题49
    web框架之初识Django
  • 原文地址:https://www.cnblogs.com/yzjT-mac/p/6371067.html
Copyright © 2020-2023  润新知