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

平安网站做的太差寺庙网站开发建设方案

平安网站做的太差,寺庙网站开发建设方案,体贴的聊城网站建设,网站开发专业就业好不好在使用Lock之前#xff0c;我们使用的最多的同步方式应该是synchronized关键字来实现同步方式了。配合Object的wait()、notify()系列方法可以实现等待/通知模式。Condition接口也提供了类似Object的监视器方法#xff0c;与Lock配合可以实现等待/通知模式 下面用的是lock锁 …在使用Lock之前我们使用的最多的同步方式应该是synchronized关键字来实现同步方式了。配合Object的wait()、notify()系列方法可以实现等待/通知模式。Condition接口也提供了类似Object的监视器方法与Lock配合可以实现等待/通知模式 下面用的是lock锁 首先我们需要明白condition对象是依赖于lock对象的condition对象需要通过lock对象进行创建出来(调用Lock对象的newCondition()方法)。condition的使用需要在调用方法前获取锁。 1.传统版 题目一个初始值为0的变量两个线程一个加1一个减1轮询5轮 线程 操作(方法) 资源类 判断 干活 通知 防止虚假唤醒机制(多线程判断用while不用if) package JUC;import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock;class ShareData {private int number 0;Lock lock new ReentrantLock();private Condition condition lock.newCondition();public void increment() throws InterruptedException {lock.lock();try {//1.判断while (number ! 0) {//线程判断用while//等待不能生产condition.await();}//2.干活number;System.out.println(Thread.currentThread().getName() \t number);//3.通知唤醒condition.signalAll();} catch (Exception e) {e.printStackTrace();} finally {lock.unlock();}}public void decrement() throws InterruptedException {lock.lock();try {//1.判断while (number 0) {//线程判断用while//等待不能生产condition.await();}//2.干活number--;System.out.println(Thread.currentThread().getName() \t number);//3.通知唤醒condition.signalAll();} catch (Exception e) {e.printStackTrace();} finally {lock.unlock();}} }/*** 题目一个初始值为0的变量两个线程一个加1一个减1轮询5轮* p* 1. 线程 操作(方法) 资源类* 2. 判断 干活 通知* 3.防止虚假唤醒机制(多线程判断用while不用if)*/ public class ProdConsumer_TraditonDemo {public static void main(String[] args) {ShareData shareData new ShareData();new Thread(() - {for (int j 0; j 5; j) {try {shareData.increment();} catch (InterruptedException e) {e.printStackTrace();}}}, AA).start();new Thread(() - {for (int j 0; j 5; j) {try {shareData.decrement();} catch (InterruptedException e) {e.printStackTrace();}}}, BB).start();} } 2.Condition精准唤醒 condition.signal() /** 题目多线程之间按顺序调用实现A-B-C三个线程启动需求如下AA打印5次BB打印10次CC打印15次紧接着AA打印5次BB打印10次CC打印15次。。。。。。。。。来10轮 */ package JUC;import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock;/*** 题目多线程之间按顺序调用实现A-B-C三个线程启动需求如下* AA打印5次BB打印10次CC打印15次* 紧接着* AA打印5次BB打印10次CC打印15次* 。。。* 。。。* 。。。* 来10轮*/class ShareResource{//资源类private int number 1; //AA就是1BB就是2,CC就是3private Lock lock new ReentrantLock();private Condition c1 lock.newCondition();private Condition c2 lock.newCondition();private Condition c3 lock.newCondition();//1.判断public void print5(){lock.lock();try {//1.判断while(number!1){c1.await();}//2.干活for (int i 1; i 5; i) {System.out.println(Thread.currentThread().getName() \t i);}//3.通知number 2;c2.signal();}catch (Exception e){e.printStackTrace();}finally {lock.unlock();}}public void print10(){lock.lock();try {//1.判断while(number!2){c2.await();}//2.干活for (int i 1; i 10; i) {System.out.println(Thread.currentThread().getName() \t i);}//3.通知number 3;c3.signal();}catch (Exception e){e.printStackTrace();}finally {lock.unlock();}}public void print15(){lock.lock();try {//1.判断while(number!3){c3.await();}//2.干活for (int i 1; i 15; i) {System.out.println(Thread.currentThread().getName() \t i);}//3.通知number 1;c1.signal();}catch (Exception e){e.printStackTrace();}finally {lock.unlock();}}} public class SyncAndReentrantLockDemo {public static void main(String []args){ShareResource shareResource new ShareResource();new Thread(()-{for (int i 1; i 10; i) {shareResource.print5();}},AA).start();new Thread(()-{for (int i 1; i 10; i) {shareResource.print10();}},BB).start();new Thread(()-{for (int i 1; i 10; i) {shareResource.print15();}},CC).start();} } 结果只截取了一轮 AA 1 AA 2 AA 3 AA 4 AA 5 BB 1 BB 2 BB 3 BB 4 BB 5 BB 6 BB 7 BB 8 BB 9 BB 10 CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 CC 10 CC 11 CC 12 CC 13 CC 14 CC 15
http://wiki.neutronadmin.com/news/46918/

相关文章:

  • asp做网站 的pdf教程房产网站代理
  • 网站开发费会计分录企业型商务网站制作
  • 南京网站维护公司柳市网站优化
  • 潮流资讯类网站建设策划企业网站备案要多少钱
  • 沈阳网站设计广告公司免费ppt模板大全下载
  • saas建站和开源建站的区别青海省住房与城乡建设厅网站
  • 智能建站制作网站建动态密码是否收费
  • 自己的网站怎样做优化书店网站模板下载
  • 下载网站模板怎么使用教程2020最近的新闻大事10条
  • 网站建设问一问公司17网一起做网店广州站
  • 简述网站建设评估的指标有哪些定制型网站建设渠道
  • 大同推广型网站开发开发商城网站公司
  • 宝塔windows建设网站wordpress 菜单 表
  • 如何建设一个手机网站女性做网站
  • 如何做搞笑原创视频网站青岛制作网站的
  • 我的家乡网站设计模板雅安移动网站建设
  • 论文网站开发网站排名效果好
  • 外汇平台+网站开发网站建设 销售提成
  • 专业网站建设服务东莞网站建设代理商
  • 深圳网站建设公司小江品牌建设规划
  • 网站推广公司简介济南的企业网站建设
  • 金坛建设局招标网站怎么建设回收网站
  • 苏州做网站设计美工常用网站
  • 如何给英文网站做外链做网站宁波有什么的网络公司
  • 建设考试网站首页网站英语培训
  • 帮彩票网站做流量提升extjs做的网站
  • 医院网站建设申请网站建设工作描述
  • nginx wordpress ssl沈阳seo排名优化教程
  • 网站建设制作 企业站开发哪家好泰安网络建设
  • 百度营销-网站分析培训货源网站程序