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

wordpress 企业站杭州网站改版公司电话

wordpress 企业站,杭州网站改版公司电话,网站开发运用到的相关技术,wordpress自动易语言文章目录 一、Synchronized 锁二、ReentrantLock 锁三、两阶段终止阶段一:通知终止阶段二:响应中断 四、线程池为什么要使用线程池?如何创建线程池?ExecutorsThreadPoolExecutor 线程池的基本参数 五、线程池处理任务的流程 一、S…

文章目录

  • 一、Synchronized 锁
  • 二、ReentrantLock 锁
  • 三、两阶段终止
    • 阶段一:通知终止
    • 阶段二:响应中断
  • 四、线程池
    • 为什么要使用线程池?
    • 如何创建线程池?
      • Executors
      • ThreadPoolExecutor
    • 线程池的基本参数
  • 五、线程池处理任务的流程


一、Synchronized 锁

synchronized 是 Java关键字,用于修饰方法或代码块,属于重量级锁,主要是在多线程环境下实现对共享资源的互斥访问。
基本使用

public class SynchronizedExample {public synchronized void method1() {// 修饰实例方法,锁的是当前对象实例}public static synchronized void method2() {// 修饰静态方法,锁的是当前类的 Class 对象}public void method3() {synchronized (this) {// 代码块锁,锁的是当前对象}}
}

synchronized 可以保证数据的可见性和原子性,支持可重入和自动释放锁,但是不支持超时锁和中断等操作。


二、ReentrantLock 锁

ReentrantLock 是 JDK 1.5 引入的可重入锁,属于轻量级锁,相比 synchronized 增加了超时、中断、公平锁等高级功能。
基本使用

public class ReentrantLockExample {private final ReentrantLock lock = new ReentrantLock();public void method() {lock.lock();try {// 临界区} finally {lock.unlock(); }}
}

ReentrantLock 支持可重入、可中断、超时机制和条件变量,但是加锁需要手动释放,否则可能造成死锁。


三、两阶段终止

两阶段终止模式: 是指优雅地中止线程的方式。

阶段一:通知终止

线程通过 interrupt() 设置中断标志,告知目标线程终止。

阶段二:响应中断

线程检测到中断标志(或抛出中断异常),执行清理工作后安全退出。

class Main extends Thread {public void run() {while (!Thread.currentThread().isInterrupted()) {try {Thread.sleep(1000);} catch (InterruptedException e) {break; // 退出循环}}}}

四、线程池

为什么要使用线程池?

  • 提高响应速度
  • 减少资源消耗
  • 易于管理线程

如何创建线程池?

Executors

  1. 无限线程数的线程池
ExecutorService threadPool = Executors.newCachedThreadPool();
  1. 固定线程的线程池
ExecutorService threadPool = Executors.newFixedThreadPool(10);
  1. 单一线程的线程池
ExecutorService threadPool = Executors.newSingleThreadExecutor();

ThreadPoolExecutor

ExecutorService pool = new ThreadPoolExecutor(2,5,10,TimeUnit.SECONDS,new ArrayBlockingQueue<>(10),Executors.defaultThreadFactory(),new ThreadPoolExecutor.AbortPolicy()
);
pool.execute(() -> {System.out.println(Thread.currentThread().getName() + " 执行任务:");});
pool.shutdown(); 

线程池的基本参数

ThreadPoolExecutor(int corePoolSize,      // 核心线程数int maximumPoolSize,   // 最大线程数long keepAliveTime,    // 空闲线程存活时间TimeUnit unit,         // 时间单位BlockingQueue<Runnable> workQueue, // 任务队列ThreadFactory threadFactory,       // 线程工厂RejectedExecutionHandler handler   // 拒绝策略
)

五、线程池处理任务的流程

在这里插入图片描述

  1. 如果当前线程数 < 核心线程数,则创建一个线程执行任务。
  2. 如果核心线程数 <= 当前线程数 < 最大线程数并且阻塞队列未满,则线程进入阻塞队列等待。
  3. 如果阻塞队列已满但是当前线程数 < 最大线程数,则创建一个线程执行任务。
  4. 如果当前线程数等于最大线程数,则根据拒绝策略处理该线程。

文章转载自:

http://v5b7WEAI.nbybb.cn
http://biAkszoI.nbybb.cn
http://Lremq07F.nbybb.cn
http://33QzEA76.nbybb.cn
http://zZnLLFvk.nbybb.cn
http://Ieaa1IwK.nbybb.cn
http://gFzcbPJy.nbybb.cn
http://C6otPYZq.nbybb.cn
http://Df1XJyB3.nbybb.cn
http://ECUefH7I.nbybb.cn
http://hzFxrFIO.nbybb.cn
http://lPjsDo36.nbybb.cn
http://jioDgDd8.nbybb.cn
http://VxWi6Uq3.nbybb.cn
http://qjDhjuei.nbybb.cn
http://qPpLqg2O.nbybb.cn
http://1rDISf2l.nbybb.cn
http://4ESJcCMJ.nbybb.cn
http://ADGXGG3L.nbybb.cn
http://6VdsMaTy.nbybb.cn
http://CeVcnbpy.nbybb.cn
http://Ei2RmDEj.nbybb.cn
http://GozQJQdf.nbybb.cn
http://eOZPLql9.nbybb.cn
http://udRgeICx.nbybb.cn
http://orsaAGHZ.nbybb.cn
http://gwULnHqV.nbybb.cn
http://14r0vsuo.nbybb.cn
http://aaasotKh.nbybb.cn
http://WYfnbGay.nbybb.cn
http://www.dtcms.com/wzjs/773893.html

相关文章:

  • 公司网站建设会计分录海天网站建设
  • 南昌有限公司 网站家政行业网站建设方案
  • 建立能网上交易的网站多少钱天元建设集团有限公司基本情况
  • 太原做网站费用广西企业网站有哪些
  • 做信息采集的网站打开部分网站很慢
  • 手机资讯类网站模板个人网站备案后内容可以改么
  • 高水平大学建设大学网站网站不备案
  • 哪个平台做网站好免费好用wordpress主题
  • 泰州网站建设要多少钱wordpress 流量统计
  • 百度站长工具是什么意思网站建设 知识产权
  • 在线教育网站开发实例核工业华南建设集团网站
  • 保密和档案网站建设方案最新网游网络游戏手游
  • 如何做中英文网站创造与魔法官方网站一起做喜欢的事
  • 网站建设制作模板网站怎么做永康好口碑关键词优化
  • 大有网网站网站模板安装好后
  • 网站建设工作总结WordPress背景图片自适应
  • 网站域名自己做食品公司网站源码
  • 江苏中淮建设集团有限公司网站做网站分为竞价和优化
  • 网站被抄袭怎么投诉wordpress register_setting
  • 做网站需要交钱吗做相同网站违法吗
  • 亚马逊网站建设的意义辽阳专业网站开发公司
  • 备案我网站的大致内容是管理者必备的三大能力
  • 网站建设肆金手指排名6番禺人才网招聘
  • 深圳营销网站建设公司排名吉安建设工程项目网站
  • 合肥网站设计goz上饶网站制作需要多少钱
  • 百怎么做网站商业网站定义
  • 上海优化网站seo公司哈尔滨优化网站公司
  • 网站建设师薪资外贸企业网站
  • 沈阳做网站的地方crm系统功能模块
  • 沈阳中小企业网站制作夏朝是谁建立的