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

做网站前期ps 图多大深圳市住房和建设局官网查询

做网站前期ps 图多大,深圳市住房和建设局官网查询,玉田县建设工程招标网站,那些市区做网站群同步方法及同步块 接上期三大不安全案例,本期将介绍同步方法和同步块,以期达到安全的目的。 车站买票:加入了synchronized 同步方法 package syn; ​ //不安全的买票 //线程不安全,有负数 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(ticketNums<=0){flag=false;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.money=money;this.name=name;}
}
//银行;模拟取款
class Drawing extends Thread{Account account;//账户//取了多少钱int drawingMoney;//现在手里有多少钱int nowMoney;
​public Drawing(Account account,int drawingMoney,String name){super(name);this.account=account;this.drawingMoney=drawingMoney;}//取钱//synchronized默认锁的是this@Overridepublic void run() {//锁的对象应该是变化的量,需要增删改的对象synchronized (account){//判断有没有钱if (account.money-drawingMoney<0){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) {List<String> list = new ArrayList<String>();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) {CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<String>();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/482725/

相关文章:

  • 网站网上商城建设行政审批局政务服务网站建设情况
  • 建公司网站的详细步骤网站建设制作官网
  • 手机网站建设公绵阳 网站开发
  • 做类似360手赚那样的网站定州建设项目
  • 屏蔽wordpress googleseo是什么意思电商
  • 佛山市seo网站设计工具成都公司注册核名官网
  • 建设网站需要哪个软件重庆集团网站建设
  • 聊城做网站找谁怎么编辑网站内容
  • 一个电子商务网站的用户购买行为监测报告文档格式怎么做?上海做外贸网站建设
  • 北京网站建设培训班湖南正规关键词优化首选
  • 青岛做网站的大公司有优设网logo
  • 网站搭建策略与方法有哪些方面国内html5网站欣赏
  • 西安网站推广方案一套vi设计多少钱
  • 建立官方网站多少钱网站设计公司模板
  • 网站免费申请空间淘宝seo优化推广
  • 湘潭学校网站建设 磐石网络第一查看网站开发
  • 帝国cms7.0网站搬家换域名换空间等安装教程重庆最新新闻头条
  • 网站源码带数据牡丹江商城网站建设
  • 网站开发实战asp制作视频教程九江php网站建设兼职
  • 企业网站模板源码有哪些天元建设集团有限公司青岛分公司
  • 内蒙古建设监理协会网站工业设计app
  • 织梦cms零基础做网站电子工程网网站
  • 美橙网站产品详情野望原文及翻译
  • 网站建设的意见西安网站建设seo优化
  • 做网站需要那些软件做网站一定要备案吗
  • 外贸建站公司建设工程合同名词解释
  • 网站自己做推广网页设计需要掌握哪些技能
  • 域名注册查询站长工具广州白云机场网站建设
  • 网站在建设中模板推广
  • 新昌建设局网站wordpress会员小图标