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

做新闻封面的网站郑州做网站公

做新闻封面的网站,郑州做网站公,大连科技网站制作,网站广告条怎么做多线程售票系统的实现与异常处理 在Java中,多线程编程是一个非常重要的概念,尤其是在处理并发任务时。本文将介绍如何使用Java实现一个简单的多线程售票系统,并详细讨论如何使用try...catch...finally块来处理异常。 多线程售票系统的实现 …

多线程售票系统的实现与异常处理

在Java中,多线程编程是一个非常重要的概念,尤其是在处理并发任务时。本文将介绍如何使用Java实现一个简单的多线程售票系统,并详细讨论如何使用try...catch...finally块来处理异常。

多线程售票系统的实现

首先,我们定义了一个Thread类,该类继承自java.lang.Thread。在这个类中,我们使用了一个静态变量ticket来记录当前售出的票数,并使用ReentrantLock来确保线程安全。

import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;public class Thread extends java.lang.Thread {static int ticket=0;static Lock lock=new ReentrantLock();@Overridepublic void run() {while (true){lock.lock();try {if(ticket==100){break;}else {Thread.sleep(10);}ticket++;System.out.println(getName()+"在卖第"+ticket+"张票");} catch (InterruptedException e) {throw new RuntimeException(e);} finally {lock.unlock();}}}
}

在这个run方法中,我们使用了一个while循环来不断检查票数是否已经达到100。如果票数达到100,则退出循环。否则,线程会休眠10毫秒,然后增加票数并打印当前售票信息。

异常处理:try...catch...finally

在多线程编程中,异常处理是非常重要的。我们使用try...catch...finally块来确保即使发生异常,锁也能被正确释放。

try {if(ticket==100){break;}else {Thread.sleep(10);}ticket++;System.out.println(getName()+"在卖第"+ticket+"张票");
} catch (InterruptedException e) {throw new RuntimeException(e);
} finally {lock.unlock();
}

try块中,我们执行了主要的业务逻辑,包括检查票数、线程休眠、增加票数和打印信息。如果在执行这些操作时发生InterruptedExceptioncatch块会捕获这个异常并将其包装为RuntimeException抛出。无论是否发生异常,finally块中的代码都会执行,确保锁被释放。

主程序的实现

在主程序中,我们创建了三个线程并启动它们。

import java.io.*;import static java.lang.Math.abs;
import static java.lang.Math.addExact;public class Test3 {public static void main(String[] args) throws IOException {Thread f1=new Thread();Thread f2=new Thread();Thread f3=new Thread();f1.setName("线程1");f2.setName("线程2");f3.setName("线程3");//开启线程f1.start();f2.start();f3.start();}
}

在这个主程序中,我们创建了三个线程实例,并分别命名为“线程1”、“线程2”和“线程3”。然后,我们依次启动这三个线程。


文章转载自:

http://czeb8Ao1.tnmmp.cn
http://amlHyLHN.tnmmp.cn
http://ZNm2c6PC.tnmmp.cn
http://WXVJmvEQ.tnmmp.cn
http://FTiadtCd.tnmmp.cn
http://yGyOIEAn.tnmmp.cn
http://INUQ9Mkm.tnmmp.cn
http://m3suoBCB.tnmmp.cn
http://WFSjWXfl.tnmmp.cn
http://1JjoAbIH.tnmmp.cn
http://7JqyV5oO.tnmmp.cn
http://MxQZQQn5.tnmmp.cn
http://HZSGP4I6.tnmmp.cn
http://jl1HMoNq.tnmmp.cn
http://ZMUrdnGS.tnmmp.cn
http://L9dyjjzd.tnmmp.cn
http://fSe8VS45.tnmmp.cn
http://Bj8iIAXz.tnmmp.cn
http://3BZtPv63.tnmmp.cn
http://7xddA1uf.tnmmp.cn
http://Uw9s26hP.tnmmp.cn
http://Il4PHupC.tnmmp.cn
http://oaqU6ABB.tnmmp.cn
http://6LWLImvj.tnmmp.cn
http://8c6PqXdI.tnmmp.cn
http://FQo8G42C.tnmmp.cn
http://Hp64Lj1i.tnmmp.cn
http://RS20SIEE.tnmmp.cn
http://9swOxv6f.tnmmp.cn
http://aztPLC98.tnmmp.cn
http://www.dtcms.com/wzjs/626920.html

相关文章:

  • mysql网站后台管理系统下载住房和城乡建设部网站倪虹
  • 网站导航功能事件营销成功案例有哪些
  • 百度推广方式seo服务合同
  • 太仓网站开发企业怎么搭建网站
  • 网站建设设计培训班wordpress搜索页如何建
  • 网站开发的经费预算做的精美的门户网站推荐
  • 显示官网字样的网站怎么做搜索网站定制公司
  • 推荐几个安全没封的网站2021ppt模板下载简约
  • asp网站数据库扫描wordpress多语言插件:qtranslate
  • 建站不用域名直接用ip可以吗只选设计师的网站
  • 工程资料类网站怎么做不拦截网站的浏览器
  • 网站怎么做微博认证宁波网站建设公司
  • 信息网站制作网站开发 先做前端吗
  • 网站后缀是xyz指得是什么安全网站建设
  • 云栖建站公司网站建设比较好的公司
  • 网站的总体方案青岛网络科技有限公司
  • 建设施工合同备案在哪个网站江苏徐州网站建设
  • 定制做网站开发沈阳装修公司
  • 网站开发实战第二章域名转出过程网站能打开吗
  • 分类网站 模板网站维护要求
  • 网站如何选择关键词淘宝搜索排名
  • wordpress建不了网站知识营销
  • 安徽元鼎建设工程有限责任公司网站wordpress授权主题
  • wdcp 防盗链 网站不能打开开发网站的公司
  • 网上开公司一般多少钱安徽网络优化公司
  • 柳州网站制作推荐网页制作排行榜
  • 温州广厦网页制作seo在线工具
  • 网站建设服务合同模板下载网络建设的网站
  • 高清做 视频在线观看网站奥美广告公司
  • 免费培训学校网站源码南京汤山建设银行网站