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

广西住房和城乡建设厅网站首页石家庄房产信息网站

广西住房和城乡建设厅网站首页,石家庄房产信息网站,网络服务提供者知道或者应当知道网络用户,息烽县住房和城乡建设局网站在软件设计中#xff0c;抽象出了23种设计模式#xff0c;用以解决对象的创建、组合、使用三种场景。在并发编程中#xff0c;针对线程的操作#xff0c;也抽象出对应的并发设计模式。 两阶段终止模式- 优雅停止线程避免共享的设计模式- 只读、Copy-on-write、Thread-Spec…在软件设计中抽象出了23种设计模式用以解决对象的创建、组合、使用三种场景。在并发编程中针对线程的操作也抽象出对应的并发设计模式。 两阶段终止模式- 优雅停止线程避免共享的设计模式- 只读、Copy-on-write、Thread-Specific Storage多线程版本的if模式多线程分工模式 (Thread-per-Message 、Worker Thread、生产者-消费者模式) 从今天开始我们会开始逐篇讲解这几种并发设计模式。 最简单的方式其实就是调用线程的Stop方法但是这个方法不推荐使用原因是会直接将线程杀死。对于业务是不允许的。太粗暴了。 两阶段终止模式 两阶段终止模式其实就是将线程终止的过程分成两个过程。 第一个过程T1向线程T2发送终止指令第二个过程T2响应终止指令。 但是本身线程想进入终止状态那么必然要从运行状态转换但是这个线程可能是休眠状态block、wait、time_wait 三种状态。所以需要使用Thread类的interrupt()方法 将线程从休眠状态转换到runnable状态。然后我们设置一个中断位T2线程检查到需要终止就会直接停止。 一个案例 public class Proxy {private boolean isStart false;// 对于stop的方法的修改 需要被start()方法 获取到变量的可见性 private volatile boolean termial false;private Thread runTask;synchronized void start () {runTask new Thread(() - {if (isStart) {return;}isStart true;while (!Thread.currentThread().isInterrupted() || !termial) {try {System.out.println(send-监控数据监控平台);TimeUnit.SECONDS.sleep(2);} catch (Exception e) {Thread.currentThread().interrupt();e.printStackTrace();}}isStart false;System.out.println(Thread.currentThread().getName() stop);});runTask.start();}synchronized void stop () {runTask.interrupt();termial true;}}终止线程池 对于终止线程池shutdown()和shutdownNow() 前者其实会将线程池在处理以及阻塞队列中的任务处理完毕后者会直接拒绝执行任何任务, shutdownNow的返回值是等得队列中未被执行的任务。所以在实际的使用中不推荐直接使用这两个方法。更优的方法其实是 pool.shutdown();boolean terminated false;while (!terminated) {pool.awaitTermination(100,TimeUnit.SECONDS);} 两阶段终止模式是一种应用很广泛的并发设计模式在 Java 语言中使用两阶段终止模式来 优雅地终止线程需要注意两个关键点: 一个是仅检查终止标志位是不够的因为线程的状态 可能处于休眠态;另一个是仅检查线程的中断状态也是不够的因为我们依赖的第三方类库很 可能没有正确处理中断异常 例如第三方类库在捕获到 Thread.sleep() 方法抛出的中断异常 后没有重新设置线程的中断状态那么就会导致线程不能够正常终止。所以我们可以自定义 线程的终止标志位用于终止线程。 小结 好了本篇主要介绍到这里。其实两阶段终止模式主要用以在终止线程的时候 使用场景 安全地终止线程比如释放该释放的资源;要确保终止处理逻辑在线程结束之前一定会执行时可使用该方法;
http://www.w-s-a.com/news/862916/

相关文章:

  • 宣传式网站养生网站模板
  • 临猗网站建设天津做网站哪家服务好
  • 郑州做网站九零后用织梦建设网站的步骤
  • 莱芜网站优化加徽信xiala5江都网站制作
  • 网站开发工具书焦作网站开发公司电话
  • 石狮网站建设报价百度爱采购怎么优化排名
  • 广州网站开发系统如何建设百度网站
  • 免费建立一个个人网站网站流量图怎么做
  • 微信网站建设公司首选网站后台更新 前台不显示
  • 撰写网站专题活动策划方案未成年做网站
  • 免费在线响应式网站自助建站网页设计与网站建设试卷
  • 四川省肿瘤医院搜索优化整站优化
  • 新钥匙建站深圳创业补贴政策2023
  • 建网站需要准备什么网站三个月没排名
  • 网站运营规划网站推广的手段
  • cvm可以做网站服务器吗网片围栏
  • 培训前端网站开发网站开发 群
  • 成都武侯区网站建设wordpress菜单分类目录
  • 牡丹江市西安区建设局网站给公司做的东西放到自己网站上
  • 做网站的前景如何郑州seo规则
  • 学校户网站建设方案专业设计服务
  • 电子商务网站建设好么有一个网站怎么做cpc
  • 镇海住房和建设交通局网站跨境电商就是忽悠人的
  • 维修网站怎么做跨境电商发展现状如何
  • 手机网站设计公司皆选亿企邦桐乡市建设局官方网站
  • 企业培训 电子商务网站建设 图片山东省住房和城乡建设厅网站主页
  • 做酒招代理的网站赣icp南昌网站建设
  • 怎样做网站內链大连市建设工程信息网官网
  • 网站软件免费下载安装泰安网站建设收费标准
  • 部署iis网站校园网站设计毕业设计