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

和镜像网站做友链环保局网站建设

和镜像网站做友链,环保局网站建设,响应式网页设计技巧,建设银行成都开发中心网站同步方法及同步块 接上期三大不安全案例#xff0c;本期将介绍同步方法和同步块#xff0c;以期达到安全的目的。 车站买票#xff1a;加入了synchronized 同步方法 package syn; ​ //不安全的买票 //线程不安全#xff0c;有负数 public class UnsafeBuyTicket {publi…同步方法及同步块 接上期三大不安全案例本期将介绍同步方法和同步块以期达到安全的目的。 车站买票加入了synchronized 同步方法 package syn; ​ //不安全的买票 //线程不安全有负数 public class UnsafeBuyTicket {public static void main(String[] args) {BuyTicket buyTicket new BuyTicket();new Thread(buyTicket,xiaoming).start();new Thread(buyTicket,xiaozhang).start();new Thread(buyTicket,xiaowang).start(); ​} ​ } ​ class BuyTicket implements Runnable{//票private int ticketNums 10;boolean flag true;Overridepublic void run() {//买票while (flag){buy();}}//synchronized 同步方法锁的是thisprivate synchronized void buy(){//判断是否有票if(ticketNums0){flagfalse;return;}//模拟延时try {Thread.sleep(100);} catch (InterruptedException e) {throw new RuntimeException(e);}//买票System.out.println(Thread.currentThread().getName()拿到第ticketNums--张票);} } 银行取钱加入了synchronized 同步块 package syn; ​ //不安全的取钱 //两个人去银行取钱账户 public class UnsafeBank {public static void main(String[] args) {//账户Account account new Account(100,基金); ​Drawing you new Drawing(account,50,你);Drawing girl new Drawing(account,100,girl); ​you.start();girl.start(); ​} } ​ //账户 class Account{int money;//余额String name;//卡名public Account(int money,String name){this.moneymoney;this.namename;} } //银行模拟取款 class Drawing extends Thread{Account account;//账户//取了多少钱int drawingMoney;//现在手里有多少钱int nowMoney; ​public Drawing(Account account,int drawingMoney,String name){super(name);this.accountaccount;this.drawingMoneydrawingMoney;}//取钱//synchronized默认锁的是thisOverridepublic void run() {//锁的对象应该是变化的量需要增删改的对象synchronized (account){//判断有没有钱if (account.money-drawingMoney0){System.out.println(Thread.currentThread().getName()钱不够取不了);return;}//sleep可以放大问题发生性try {Thread.sleep(1000);} catch (InterruptedException e) {throw new RuntimeException(e);}//卡内余额 余额 - 你取的钱account.money account.money - drawingMoney;//你手里的钱nowMoney nowMoney drawingMoney;System.out.println(account.name余额为account.money);System.out.println(this.getName()手里的钱nowMoney);} ​ ​} } 安全集合 package syn; ​ import java.util.ArrayList; import java.util.List; ​ //线程不安全的集合 public class UnsafeList {public static void main(String[] args) {ListString list new ArrayListString();for (int i 0; i 10000; i) {new Thread(()-{synchronized (list){list.add(Thread.currentThread().getName());}; ​}).start();}try {Thread.sleep(3000);} catch (InterruptedException e) {throw new RuntimeException(e);}System.out.println(list.size());} } 注意锁的对象应该是变化的量需要增删改的对象 CopyOnWriteArrayList package syn; ​ import java.util.concurrent.CopyOnWriteArrayList; ​ //测试JUC安全类型的集合 public class TestJUC {public static void main(String[] args) {CopyOnWriteArrayListString list new CopyOnWriteArrayListString();for (int i 0; i 1000; i) {new Thread(()-{list.add(Thread.currentThread().getName()); ​}).start();}try {Thread.sleep(3000);} catch (InterruptedException e) {throw new RuntimeException(e);}System.out.println(list.size());} }
http://www.yayakq.cn/news/2586/

相关文章:

  • WordPress修改网站背景网站建设 php 企业网站
  • 网站企业备案资料长治怎么做平台软件
  • 信息网站模板广东建设信息网安全员查询
  • 游戏网站建设计划书网站灰色 代码
  • 长春网站制作费用2022年近期重大新闻事件
  • 英文网站定制公司新余公司做网站
  • 旅游网站设计总结网站建设平台合同
  • 提高企业网站的访问率淘宝网站边上的导航栏怎么做
  • 建设网站需要注意什么问题营销策划方案范文
  • 购物网站中加减数目的怎么做苏州建站免费模板
  • 网站后台自动退出十堰优化网站哪家好
  • 华为官方网站大连开发区天气预报
  • 黄页大全18勿看2000网站网站开发团队简介
  • python做视频网站网站关键词排名提高
  • 做的好的公司网站洛阳建设银行网站
  • 上海网站原型设计移动互联网站开发
  • 企业门户网站登录知名网站排名
  • 福田做商城网站建设哪家效益快天津建筑工程公司有哪些
  • 商务定制网站国外的服务器
  • 多合一建网站备案网站到期了怎么办
  • 甘肃新站优化本地wordpress模板编辑
  • 怎样建公司网站默认网站预览能能显示建设中
  • 湖州住房和城乡建设厅网站做网站后付款
  • 中国建设银行深圳分行网站wordpress怎么解绑域名
  • 南充做网站公司哪家好网站配色 原则
  • 网络推广教育机构论述搜索引擎优化的具体措施
  • 宁波网站推广方式怎么样郑州平面设计公司排行榜
  • 北京市保障性住房建设投资中心网站6短视频推广seo隐迅推专业
  • 宜宾网站建设费用做外贸到那个网站
  • 网站用户界面ui设计细节门户网站 移动端