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

网站建设ppt方案百度网页版官方

网站建设ppt方案,百度网页版官方,怎么做国内外网站,濮阳网站关键词JAVA同步代码块 同步方法 为了解决多线程操作共享数据时产生的安全问题 例如以下代码 if (ticket 0) {// 卖完了break; } else {ticket--;System.out.println(Thread.currentThread().getName() 在卖票#xff0c;还剩下 ticket 张)…JAVA同步代码块 同步方法 为了解决多线程操作共享数据时产生的安全问题 例如以下代码 if (ticket 0) {// 卖完了break; } else {ticket--;System.out.println(Thread.currentThread().getName() 在卖票还剩下 ticket 张); }如果两个线程同时执行以上方法同时访问或修改共享的变量ticket就有可能会出现安全问题。 例如 出现重复票 窗口三在卖票还剩下98张 窗口一在卖票还剩下98张 窗口一在卖票还剩下96张 窗口三在卖票还剩下95张 窗口二在卖票还剩下95张原因几个线程可能同时执行System.out.println(Thread.currentThread().getName() 在卖票还剩下 ticket 张); 出现负数票 窗口一在卖票还剩下0张 窗口三在卖票还剩下-1张原因两个线程都在执行else语句前检查了ticket是大于0的。 JAVA中可以使用同步代码块和同步方法来解决以上问题。 同步代码块 为了解决以上问题可以使用同步代码块实现锁定多条语句以独立操作共享数据。 格式 synchronized(任意对象) {多条语句操作共享数据的代码 }需要对象作为一个锁只要有一个线程进去执行代码了这个对象就会被锁住。 当线程执行完出来了才会自动为这个对象解锁。 若对象被锁住了线程就无法继续执行直到这个对象被解锁。 因此为了使只能同时有一个线程执行语句只能是同一个对象作为synchronized的参数。 相当于一个房间只有一个门有一个线程进去了就会锁上门其他线程进不去。完成后再出门解锁。 若多个线程synchronized的参数是几个不同的对象就相当于一个房间有几个门各自都可以通过自己的门进出起不到隔离的作用。 修改后的代码如下 public class Ticket implements Runnable {// 票的对象private int ticket 100;private Object obj new Object();public void run() {while (true) {try {Thread.sleep(100);} catch (InterruptedException e) {e.printStackTrace();}synchronized (obj) {if (ticket 0) {// 卖完了break;} else {ticket--;System.out.println(Thread.currentThread().getName() 在卖票还剩下 ticket 张);}}}} }public class demo {public static void main(String[] args) {Ticket ticket new Ticket();Thread t1 new Thread(ticket);Thread t2 new Thread(ticket);Thread t3 new Thread(ticket);t1.setName(窗口一);t2.setName(窗口二);t3.setName(窗口三);t1.start();t2.start();t3.start();} }同步方法 与同步代码块不同的是同步方法不需要指定锁对象而且同步方法可以锁住方法中所有代码故同时只能有一个线程运行同步方法中的代码。 格式 修饰符 synchronized 返回值类型 方法名(方法参数) {}使用示例如下 public class Ticket implements Runnable {// 票的对象private int ticket 100;public void run() {while (true) {try {Thread.sleep(100);} catch (InterruptedException e) {e.printStackTrace();}if (soldout()) {break;}}}public synchronized boolean soldout() {if (ticket 0) {// 卖完了return true;} else {ticket--;System.out.println(Thread.currentThread().getName() 在卖票还剩下 ticket 张);}return false;} }运行结果 /Library/Java/JavaVirtualMachines/jdk-19.jdk/Contents/Home/bin/java -javaagent:/Users/doubleq666/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/223.8617.56/IntelliJ IDEA.app/Contents/lib/idea_rt.jar61509:/Users/doubleq666/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/223.8617.56/IntelliJ IDEA.app/Contents/bin -Dfile.encodingUTF-8 -Dsun.stdout.encodingUTF-8 -Dsun.stderr.encodingUTF-8 -classpath /Users/doubleq666/Documents/IdeaProjects/Semaphore/Semaphore/out/production/Semaphore SynchronizedDemo.demo 窗口一在卖票还剩下99张 窗口三在卖票还剩下98张 窗口二在卖票还剩下97张 窗口二在卖票还剩下96张 窗口三在卖票还剩下95张 窗口一在卖票还剩下94张 窗口二在卖票还剩下93张 窗口三在卖票还剩下92张 窗口一在卖票还剩下91张 窗口三在卖票还剩下90张 窗口一在卖票还剩下89张 窗口二在卖票还剩下88张 窗口二在卖票还剩下87张 窗口三在卖票还剩下86张 窗口一在卖票还剩下85张 窗口三在卖票还剩下84张 窗口一在卖票还剩下83张 窗口二在卖票还剩下82张 窗口二在卖票还剩下81张 窗口三在卖票还剩下80张 窗口一在卖票还剩下79张 窗口二在卖票还剩下78张 窗口三在卖票还剩下77张 窗口一在卖票还剩下76张 窗口二在卖票还剩下75张 窗口三在卖票还剩下74张 窗口一在卖票还剩下73张 窗口二在卖票还剩下72张 窗口三在卖票还剩下71张 窗口一在卖票还剩下70张 窗口二在卖票还剩下69张 窗口一在卖票还剩下68张 窗口三在卖票还剩下67张 窗口二在卖票还剩下66张 窗口一在卖票还剩下65张 窗口三在卖票还剩下64张 窗口二在卖票还剩下63张 窗口一在卖票还剩下62张 窗口三在卖票还剩下61张 窗口二在卖票还剩下60张 窗口一在卖票还剩下59张 窗口三在卖票还剩下58张 窗口二在卖票还剩下57张 窗口一在卖票还剩下56张 窗口三在卖票还剩下55张 窗口二在卖票还剩下54张 窗口一在卖票还剩下53张 窗口三在卖票还剩下52张 窗口二在卖票还剩下51张 窗口一在卖票还剩下50张 窗口三在卖票还剩下49张 窗口二在卖票还剩下48张 窗口一在卖票还剩下47张 窗口三在卖票还剩下46张 窗口二在卖票还剩下45张 窗口三在卖票还剩下44张 窗口一在卖票还剩下43张 窗口二在卖票还剩下42张 窗口三在卖票还剩下41张 窗口一在卖票还剩下40张 窗口二在卖票还剩下39张 窗口三在卖票还剩下38张 窗口一在卖票还剩下37张 窗口二在卖票还剩下36张 窗口三在卖票还剩下35张 窗口一在卖票还剩下34张 窗口二在卖票还剩下33张 窗口三在卖票还剩下32张 窗口一在卖票还剩下31张 窗口二在卖票还剩下30张 窗口三在卖票还剩下29张 窗口一在卖票还剩下28张 窗口二在卖票还剩下27张 窗口三在卖票还剩下26张 窗口一在卖票还剩下25张 窗口二在卖票还剩下24张 窗口三在卖票还剩下23张 窗口一在卖票还剩下22张 窗口二在卖票还剩下21张 窗口三在卖票还剩下20张 窗口一在卖票还剩下19张 窗口二在卖票还剩下18张 窗口三在卖票还剩下17张 窗口一在卖票还剩下16张 窗口二在卖票还剩下15张 窗口三在卖票还剩下14张 窗口一在卖票还剩下13张 窗口二在卖票还剩下12张 窗口三在卖票还剩下11张 窗口一在卖票还剩下10张 窗口二在卖票还剩下9张 窗口三在卖票还剩下8张 窗口一在卖票还剩下7张 窗口二在卖票还剩下6张 窗口三在卖票还剩下5张 窗口一在卖票还剩下4张 窗口二在卖票还剩下3张 窗口三在卖票还剩下2张 窗口一在卖票还剩下1张 窗口二在卖票还剩下0张Process finished with exit code 0
http://www.hkea.cn/news/14355393/

相关文章:

  • 网站后台购买企业建设网站对客户的好处
  • 网站设计网站维护百度渠道开户哪里找
  • 保护环境网站模板专业集团门户网站建设公司
  • 做二手物资买卖的网站微信网站对接
  • 怎样做淘宝联盟网站邹平建设局网站
  • phpcms手机网站怎么做品牌形象策划设计公司
  • 有网站怎么做seo推广辽宁鹤城建设集团网站
  • 盐城网站关键词优化360网页设计尺寸
  • 管庄地区网站建设湖北建设厅造价网站
  • 网站统计源码下载创业商机网加工项目
  • 镇江企业做网站国际最新军事新闻
  • 淘宝内部卷网站怎么做域名查询网站信息
  • 延安网站设计文昌网站 做炸饺子
  • 满城区建设局网站wordpress 添加目录权限
  • WordPress多站点绑定域名网站宣传标语
  • 网站策划要遵循的原则广州网站建设公司排行
  • 网站微建站wordpress安装文件下载
  • 想注册个人网站全网营销的概念和特点
  • h5游戏网站开发小程序注册失败怎么办
  • 城乡建设部网站稽查执法专栏教学网站开发应用方案
  • 深圳定制建站公司电话seo是搜索引擎营销
  • 徐州网站关键词推广新网站建设平台
  • 网站编辑是什么工作海外设计网站建设
  • 网站做的一样算侵权吗wordpress open social
  • 网站建设中心北京王府井美食
  • 河南省住房城乡建设厅网站网站开发报价模版
  • 一个网站需要哪些东西2021百度热搜年度榜
  • 猪八戒网网站建设wordpress板块大小
  • 建设银行对公网站长沙电商网站开发
  • 哈尔滨做网站的电脑制作网站的软件