当前位置: 首页 > news >正文 飞言情做最好的小说网站影视设计 news 2025/10/24 22:45:26 飞言情做最好的小说网站,影视设计,wordpress固定链接403,wordpress页面如何调用文章分类JUC基础知识 多线程 管程 Monitor#xff0c;也就是平时所说的锁。Monitor其实是一种同步机制#xff0c;它的义务是保证#xff08;同一时间#xff09;只有一个线程可以访问被保护的数据和代码块#xff0c;JVM中同步是基于进入和退出监视器#xff08;Monitor管程对…JUC基础知识 多线程 管程 Monitor也就是平时所说的锁。Monitor其实是一种同步机制它的义务是保证同一时间只有一个线程可以访问被保护的数据和代码块JVM中同步是基于进入和退出监视器Monitor管程对象来实现每个对象实例都会有一个Monitor对象底层是由C语言来实现。 补Monitor对象并不会随着Java对象的销毁而销毁。 Java对象是在Java堆中创建的而Monitor是与Java对象关联的、由JVM内部管理的机制。Monitor的创建和销毁并不直接对应于Java对象的创建和销毁。更确切地说当Java对象被用作同步锁时JVM会为该对象关联一个Monitor而当该对象不再被用作同步锁或者对象被垃圾回收时与其关联的Monitor可能会被JVM内部释放或重新利用。 ?为什么是同步机制不是互斥机制 - 同步机制与互斥机制并不矛盾同步机制包含了互斥以及协作线程分类 用户线程 工作线程完成业务操作 守护线程 一种特殊的为其它线程服务的线程在后台默默完成一些系统性的任务典型垃圾回收线程。做为一个服务线程当服务对象没有了就会伴随JVM一同结束工作。 怎么设置成守护线程 Thread t new Thread(() - {}); t.setDaemon(); t.start(); /** 必须在start()开始前设置不然会抛异常 */CompletableFuture Future接口 Future是Java5新加的一个接口它提供一种异步并行计算的功能如果主线程需要执行一个很耗时的计算任务我们会就可以通过Future把这个任务放进异步线程中执行主线程继续处理其他任务或者先行结束再通过Future获取计算结果 功能 定义操作异步任务执行的一些方法如获取异步任务的执行结果、取消异步任务的执行、判断任务是否被取消、判断任务执行是否完毕等。 实现类 FutureTask FutureTaskString futureTask new FutureTask(() - Hello); new Thread(futureTask).start(); try {System.out.println(futureTask.get()); } catch (InterruptedException | ExecutionException e) {e.printStackTrace(); }优点 Future线程池异步多线程任务配合能显著提高程序的运行效率。 缺点 get()阻塞 一旦调用get()方法求结果一旦调用不见不散非要等到结果才会离开不管你是否计算完成如果没有计算完成容易程序堵塞。 isDone()轮询 轮询的方式会耗费无谓的cpu资源而且也不见得能及时得到计算结果如果想要异步获取结果通常会以轮询的方式去获取结果尽量不要阻塞。 FutureTaskString futureTask new FutureTask(() - {TimeUnit.SECONDS.sleep(5);return hello world; });new Thread(futureTask).start();while (true) {if (futureTask.isDone()) {try {System.out.println(futureTask.get());return;} catch (InterruptedException | ExecutionException e) {e.printStackTrace();}} else {try {TimeUnit.MILLISECONDS.sleep(500);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(程序正在运行);} }CompletableFuture 对 Future的改进 Future 在实际杂的任务中遇到了众多问题 轮询耗时不能回调怎么更好与线程池组合使用多个任务同步问题 在jdk8中出现了CompletableFuture 类架构 创建 回调 ExecutorService executorService Executors.newFixedThreadPool(3); CompletableFutureInteger completableFuture CompletableFuture.supplyAsync(() - {System.out.println(Thread.currentThread().getName() ---come in);int result ThreadLocalRandom.current().nextInt(10);try {TimeUnit.SECONDS.sleep(1);} catch (InterruptedException e) {e.printStackTrace();}if (result 5) { //模拟产生异常情况int i 10 / 0;}System.out.println(----------1秒钟后出结果 result);return result; }, executorService).whenComplete((v, e) - {if (e null) {System.out.println(计算完成 更新系统 v);} }).exceptionally(e - {e.printStackTrace();System.out.println(异常情况 e.getCause() e.getMessage());return null; }); System.out.println(Thread.currentThread().getName() 先去完成其他任务); executorService.shutdown(); chain链式调用 Accessors(chain true)//开启链式调用常用函数 get() get(long timeout,TimeUnit unit) join – 不抛异常 getNow() 完成返回正常值否则备胎值 complate(T val) 是否打断get()直接返回val thenApply() 计算存在依赖关系串行化且当前异常不进行下一步 handle() 存在依赖串行化异常也进行下一步 thenAccpt() 接受任务结果不返回 thenRun() A执行完执行B,不需要A的结果 applyToEither() 谁快用谁 thenCombine 合并计算结果 线程池 如果没有传入自定义线程池都用默认线程池ForkJoinPool 传入一个线程池如果你执行第一个任务时传入了一个自定义线程池 调用thenRun方法执行第二个任务时则第二个任务和第一个任务时共用同一个线程池 调用thenRunAsync执行第二个任务时则第一个任务使用的是你自定义的线程池第二个任务使用的是ForkJoin线程池 备注可能是线程处理太快系统优化切换原则 直接使用main线程处理thenAccept和thenAcceptAsyncthenApply和thenApplyAsync等之间的区别同理。 如何在Springboot如何在注册线程池呢点击查看 文章转载自: http://www.morning.mhcys.cn.gov.cn.mhcys.cn http://www.morning.mszls.cn.gov.cn.mszls.cn http://www.morning.zsrdp.cn.gov.cn.zsrdp.cn http://www.morning.woyoua.com.gov.cn.woyoua.com http://www.morning.zxfdq.cn.gov.cn.zxfdq.cn http://www.morning.qytby.cn.gov.cn.qytby.cn http://www.morning.gwkwt.cn.gov.cn.gwkwt.cn http://www.morning.wfyqn.cn.gov.cn.wfyqn.cn http://www.morning.blzrj.cn.gov.cn.blzrj.cn http://www.morning.vvdifactory.com.gov.cn.vvdifactory.com http://www.morning.bpmnq.cn.gov.cn.bpmnq.cn http://www.morning.fkrzx.cn.gov.cn.fkrzx.cn http://www.morning.hrhwn.cn.gov.cn.hrhwn.cn http://www.morning.ypklb.cn.gov.cn.ypklb.cn http://www.morning.rmltt.cn.gov.cn.rmltt.cn http://www.morning.syssdz.cn.gov.cn.syssdz.cn http://www.morning.mpszk.cn.gov.cn.mpszk.cn http://www.morning.dlbpn.cn.gov.cn.dlbpn.cn http://www.morning.wjqbr.cn.gov.cn.wjqbr.cn http://www.morning.dnzyx.cn.gov.cn.dnzyx.cn http://www.morning.lwrcg.cn.gov.cn.lwrcg.cn http://www.morning.lndongguan.com.gov.cn.lndongguan.com http://www.morning.sxjmz.cn.gov.cn.sxjmz.cn http://www.morning.lnfkd.cn.gov.cn.lnfkd.cn http://www.morning.rnpt.cn.gov.cn.rnpt.cn http://www.morning.yzxlkj.com.gov.cn.yzxlkj.com http://www.morning.dmcqy.cn.gov.cn.dmcqy.cn http://www.morning.bkcnq.cn.gov.cn.bkcnq.cn http://www.morning.qggcc.cn.gov.cn.qggcc.cn http://www.morning.ymbqr.cn.gov.cn.ymbqr.cn http://www.morning.dhyqg.cn.gov.cn.dhyqg.cn http://www.morning.hkgcx.cn.gov.cn.hkgcx.cn http://www.morning.qwnqt.cn.gov.cn.qwnqt.cn http://www.morning.tlpsd.cn.gov.cn.tlpsd.cn http://www.morning.nrjr.cn.gov.cn.nrjr.cn http://www.morning.xtxp.cn.gov.cn.xtxp.cn http://www.morning.tdmr.cn.gov.cn.tdmr.cn http://www.morning.sffwz.cn.gov.cn.sffwz.cn http://www.morning.wxfgg.cn.gov.cn.wxfgg.cn http://www.morning.mfqmk.cn.gov.cn.mfqmk.cn http://www.morning.hsrpr.cn.gov.cn.hsrpr.cn http://www.morning.ywrt.cn.gov.cn.ywrt.cn http://www.morning.sqgsx.cn.gov.cn.sqgsx.cn http://www.morning.0small.cn.gov.cn.0small.cn http://www.morning.lxyyp.cn.gov.cn.lxyyp.cn http://www.morning.rbzht.cn.gov.cn.rbzht.cn http://www.morning.jtwck.cn.gov.cn.jtwck.cn http://www.morning.sskhm.cn.gov.cn.sskhm.cn http://www.morning.yrjhr.cn.gov.cn.yrjhr.cn http://www.morning.jglqn.cn.gov.cn.jglqn.cn http://www.morning.wnhml.cn.gov.cn.wnhml.cn http://www.morning.ljjmr.cn.gov.cn.ljjmr.cn http://www.morning.wgrm.cn.gov.cn.wgrm.cn http://www.morning.fthcn.cn.gov.cn.fthcn.cn http://www.morning.kdpal.cn.gov.cn.kdpal.cn http://www.morning.jrwbl.cn.gov.cn.jrwbl.cn http://www.morning.qkdcb.cn.gov.cn.qkdcb.cn http://www.morning.qlsyf.cn.gov.cn.qlsyf.cn http://www.morning.wmfh.cn.gov.cn.wmfh.cn http://www.morning.dmcqy.cn.gov.cn.dmcqy.cn http://www.morning.mjtgt.cn.gov.cn.mjtgt.cn http://www.morning.jlschmy.com.gov.cn.jlschmy.com http://www.morning.dbrpl.cn.gov.cn.dbrpl.cn http://www.morning.znrgq.cn.gov.cn.znrgq.cn http://www.morning.kjsft.cn.gov.cn.kjsft.cn http://www.morning.jjzjn.cn.gov.cn.jjzjn.cn http://www.morning.elsemon.com.gov.cn.elsemon.com http://www.morning.plchy.cn.gov.cn.plchy.cn http://www.morning.nbnq.cn.gov.cn.nbnq.cn http://www.morning.lwtfr.cn.gov.cn.lwtfr.cn http://www.morning.lnnc.cn.gov.cn.lnnc.cn http://www.morning.hyyxsc.cn.gov.cn.hyyxsc.cn http://www.morning.lwnwl.cn.gov.cn.lwnwl.cn http://www.morning.txltb.cn.gov.cn.txltb.cn http://www.morning.kbntl.cn.gov.cn.kbntl.cn http://www.morning.hwhnx.cn.gov.cn.hwhnx.cn http://www.morning.pbsfq.cn.gov.cn.pbsfq.cn http://www.morning.taipinghl.cn.gov.cn.taipinghl.cn http://www.morning.zrhhb.cn.gov.cn.zrhhb.cn http://www.morning.qdcpn.cn.gov.cn.qdcpn.cn 查看全文 http://www.tj-hxxt.cn/news/246541.html 相关文章: 网站结构分类前端培训的机构 网站正在建设中yuss更改wordpress管理员用户名密码 wordpress可以建哪些网站吗网易企业邮箱怎么绑定 vs做网站建设商务网站ppt 广州高端网站制作公司网站建设设计大作业 网站建设和邮箱的关联郑州网站建设优化 淄博百度推广sem与seo的区别 家居网站建设平台网站移动排名 wordpress和站点wordpress设置访问密码 设计方案表网站名称技术培训机构排名前十 做经营网站怎么赚钱吗红酒论坛网站建设 网站首页加载特效网站跳出率高怎么办 国外设计网站排名安徽合肥中国建设银行网站首页 网站服务器放置地聊天网站怎么建设 网站合作客户网站设计与建设课后题答案 辽宁省建设监理协会网站延吉市住房城乡建设局官方网站 个人备案做电影网站网站设计电脑培训学校 个人网站设计的参考文献宁波搜索引擎优化seo 做策划需要进的网站百度应用宝 意大利做包招工的网站如何建立个人网站的步骤 想找可以在家做的手工活去什么网站中国画廊企业网站模板 学网站建设前途浮雕模东莞网站建设 电商网站的意义问卷调查 保定手机网站制作网页版游戏大全在线玩 金泉网做网站多少钱青岛网站制作服务 网站后台管理系统怎么开发网站建设的大作业代码 推广型网站开发软件设置网站解析 网站设计及开发东方网景网站建设 17zwd一起做业网站园林景观设计公司名称大全 vs网站开发建表怎么肩啊网站优化方式