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

英文网站制作++官网个人做网站给手机发短信

英文网站制作++官网,个人做网站给手机发短信,在家做网站设计挣钱吗,秦皇岛建设工程信息网站售票系统 假设您正在开发一个基于Java多线程技术的售票系统。该系统需要支持多个售票窗口同时进行售票操作,并且要确保不会出现超卖或漏卖的情况。具体来说,系统应该具备如下特点: 票的数量有限:初始时系统中有100张票。 多线程…

售票系统

假设您正在开发一个基于Java多线程技术的售票系统。该系统需要支持多个售票窗口同时进行售票操作,并且要确保不会出现超卖或漏卖的情况。具体来说,系统应该具备如下特点:

  1. 票的数量有限:初始时系统中有100张票。

  2. 多线程售票:系统支持多个售票窗口同时进行售票操作。

  3. 线程安全:必须确保即使在高并发情况下也不会出现超卖或漏卖的问题。

Runnable

==查看结果,分析代码==

public void run() {while (true) {if (count > 0) {System.out.println(Thread.currentThread().getName() + "正在卖第" + count + "张票");count--;try {Thread.sleep(100);} catch (Exception e) {e.printStackTrace();}} else {break;}}
}

==加上同步锁==

public void run() {while (true) {synchronized (this) {if (count > 0) {System.out.println(Thread.currentThread().getName() + "正在卖第" + count + "张票");count--;try {Thread.sleep(100);} catch (Exception e) {e.printStackTrace();}} else {break;}}}
}

==注意同步锁的位置==

public void run() {while (count > 0) {synchronized (this) {System.out.println(Thread.currentThread().getName() + "正在卖第" + count + "张票");count--;try {Thread.sleep(100);} catch (Exception e) {e.printStackTrace();}}}
}

Thread

public class TicketOffice {
​private Integer count = 100;
​public synchronized Integer getCount() {return count;}
​public synchronized void sell() {if (count > 0) {count--;System.out.println("正在卖第" + count);}}
​
}
public class TicketSeller extends Thread {
​private TicketOffice office;private String name;
​public TicketSeller(TicketOffice office, String name) {this.office = office;this.name = name;}
​@Overridepublic void run() {while (true) {synchronized (this) {if (office.getCount() > 0) {try {office.sell();Thread.sleep(100); // 模拟售票延迟} catch (InterruptedException e) {e.printStackTrace();}} else {break;}}}}
​
}

==在synchronized块内的操作,确实是在该块执行完毕前不会被其他线程打断的。==

==但是,如果在这个同步块内调用了某个非同步的方法,并且这个方法修改了共享资源,那么就有可能会出现线程安全问题。==

synchronized块的作用范围

在一个代码块上使用synchronized关键字时,该块内的所有操作都会被视为原子的,在该块内不会被其他线程打断。

然而,这种保证仅限于该同步块内。如果在同步块内调用了一个非同步的方法,那么该方法的操作就不受该同步块的保护,可能会被其他线程干扰。


文章转载自:

http://3fnJPP1Z.mjyqc.cn
http://64Bzxur9.mjyqc.cn
http://BFXL5hAF.mjyqc.cn
http://BMkzWXRI.mjyqc.cn
http://OYuInNwY.mjyqc.cn
http://027dvOPn.mjyqc.cn
http://DMv1pvPx.mjyqc.cn
http://45nl4QS9.mjyqc.cn
http://U46R61OE.mjyqc.cn
http://jSWw2Alw.mjyqc.cn
http://djGCWXJD.mjyqc.cn
http://Z0zgI5dT.mjyqc.cn
http://LJFssoIM.mjyqc.cn
http://DYIkAcui.mjyqc.cn
http://4LiDm9mv.mjyqc.cn
http://kJGtgDvt.mjyqc.cn
http://YEZ0TgkD.mjyqc.cn
http://gUm02Ke0.mjyqc.cn
http://bMbvuZHE.mjyqc.cn
http://xqYjUURN.mjyqc.cn
http://eH51d7LG.mjyqc.cn
http://JKRqSTaG.mjyqc.cn
http://W2pCcxAz.mjyqc.cn
http://2ZVqN9wL.mjyqc.cn
http://VNcUpniW.mjyqc.cn
http://O7SiQf1X.mjyqc.cn
http://Lva09ojO.mjyqc.cn
http://veAyriTz.mjyqc.cn
http://XsyLNNdj.mjyqc.cn
http://PT2WvPwm.mjyqc.cn
http://www.dtcms.com/wzjs/766317.html

相关文章:

  • wordpress网站突然打不开上海网站快速排名提升
  • 东莞建设网站的位置邯郸网站建设产品介绍
  • 正规的锦州网站建设网站建设的预算
  • 建设网站 xp甘肃省建设厅官方网站质监局
  • 北京专业建网站的公司谁知道苏州溪城水处理网站谁做的
  • 济南网站推广效果盐山网站开发
  • 小米路由2 做网站免费友情链接网
  • 爱情动做网站推荐织梦做的网站用什么数据库
  • 做营销网站建设价格网站的月度流量统计报告怎么做
  • 做国际网站怎么做国外搜索引擎
  • 做网站有啥软件在线视频下载网站如何做
  • 西安企业门户网站建设怎么制作游戏修改器
  • 青海建设局网站大兴58网站起名网站制作
  • 湖北建站哪个网站可以学做包子
  • 选择一个域名进行网站建设网络整合营销的含义
  • 零基础学做衣服的网站咨询公司简介
  • app推荐网站做网站不备案
  • 奉化网站建设网站点击推广
  • 潍坊品牌网站建设公司建协网官方网站
  • 做衬衫的网站怎么把平台推广出去
  • 新开网站做内贸业务员好做杭州建设工程信用平台
  • 男女做那个那个的视频网站创建公众号的步骤
  • 网站制作公司在哪里找国外营销型网站设计
  • aspcms网站栏目调用公司做网站多少钱
  • 养殖网站模版中时讯通信建设有限公司网站
  • 网站建设合同是否属于技术服务合同wap和网页的区别
  • 网站建设观点一卡2卡三卡4卡入口天堂
  • 有凡客模版怎么建设网站视频号下载软件免费
  • 免费微网站与公众号平台对接汽车网站和移动端建设方案
  • 高端网站开发设计北京icp网站备案