线程+线程池+锁

有合适延时代码会补充

线程

        创建方式

                1:继承Thread

                2:实现Runnable接口

                3:Callable+Future接口

        方法介绍

                sleep:Thread类静态方法

                        当前线程暂停执行指定时间,让出cpu,不释放对象锁,任何地方使用。

                wait:Object类成员方法

                        放弃对象锁,进入等待队列,对当前对象调用notify方法,当前线程进入对象锁定池重新竞争对象锁,同步方法/同步代码块中使用。

线程池

        newCachedThreadPool(可缓存线程池):如果线程池长度超过处理需要,可灵活 回收空闲线程,若无可回收,则新建线程

        newFixedThreadPool(定长线程池):可控制线程最大并发数,超出的线程会在队 列中等待

        newScheduledThreadPool (定长线程池):支持定时及周期性任务执行。

        newSingleThreadExecutor(单线程化线程池):用唯一的工作线程来执 行任务,保证所有任务按照指定顺序(FIFO, LIFO, 优先级)执行

        线程池参数

                corePoolSize:核心线程大小

                maximumPoolSize:线程池最大线程数量

                keepAliveTime:空闲线程存活时间

                unit:空间线程存活时间单位

                workQueue:工作队列

                threadFactory:线程工厂

                handler:拒绝策略

        死锁

                产生条件

                        1:互斥:一个资源只能被一个进程使用

                        2:请求与保持:一个进程因请求资源而阻塞时,对已获得的资源保持不放

                        3:不剥夺:进程已获得的资源,在未使用完之前不能强行剥夺

                        4:循环等待:多进程间形成首尾相互等待的关系

相关推荐

  1. 线+线+

    2024-06-09 21:58:04       19 阅读
  2. 线线组、线、事务、分布式

    2024-06-09 21:58:04       17 阅读
  3. C-线

    2024-06-09 21:58:04       24 阅读
  4. 线

    2024-06-09 21:58:04       21 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-09 21:58:04       5 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-09 21:58:04       5 阅读
  3. 在Django里面运行非项目文件

    2024-06-09 21:58:04       4 阅读
  4. Python语言-面向对象

    2024-06-09 21:58:04       7 阅读

热门阅读

  1. 多维vector定义

    2024-06-09 21:58:04       17 阅读
  2. 计算各聚类中心

    2024-06-09 21:58:04       14 阅读
  3. 程序代码问题随时记录

    2024-06-09 21:58:04       16 阅读
  4. 栈和队列的转换

    2024-06-09 21:58:04       20 阅读
  5. 全面解析LG webOS:从开发到智能电视的演进

    2024-06-09 21:58:04       22 阅读
  6. 【CS.SE】Tomcat启动闪退问题解决方法

    2024-06-09 21:58:04       15 阅读
  7. P9 品牌校验

    2024-06-09 21:58:04       19 阅读