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

建筑公司网站关键词有哪些百度公司排名

建筑公司网站关键词有哪些,百度公司排名,广东企业网站模板设计,qq小程序怎么开发线程的同步和死锁 同步问题引出 当多个线程访问同一资源时,会出现不同步问题。比如当票贩子A(线程A)已经通过了“判断”,但由于网络延迟,暂未修改票数的间隔时间内,票贩子B(线程B)…

线程的同步和死锁

同步问题引出

当多个线程访问同一资源时,会出现不同步问题。比如当票贩子A(线程A)已经通过了“判断”,但由于网络延迟,暂未修改票数的间隔时间内,票贩子B(线程B)也通过了“判断”。此时,若票数只剩下了最后一张,则会出现两个线程同时通过判断并最终会修改票数,出现错误(票数为0或-1)。
在这里插入图片描述

线程同步处理

解决同步问题的关键是锁,指的是当某一个线程执行操作的时候,其它线程外面等待。
在这里插入图片描述

现这把锁的功能,就可以使用 synchronized 关键字来实现,利用此关键字可以定义同步方法或同步代码块, 在同步代码块的操作里面的代码只允许一个线程执行。

1. 同步代码块

synchronized(同步对象){同步代码操作;
}

一般要进行同步对象处理的时候可以采用当前对象 this 进行同步。
卖票范例(同步代码块版):

class MyThread implements Runnable { // 线程的主体类private int ticket = 5;@Overridepublic void run() { // 线程的主体方法while(true) {synchronized(this) { // 每一次只允许一个线程进行访问if (this.ticket > 0) {try {Thread.sleep(100);  // 模拟网络延迟} catch (InterruptedException e) {e.printStackTrace();}System.out.println(Thread.currentThread().getName() + "买票,ticket = " + this.ticket --);				} else { System.out.println("-----票已售完-----");break;}}}}
}
public class ThreadDemo {public static void main(String[] args) {MyThread mt = new MyThread();new Thread(mt,"票贩子A").start(); new Thread(mt,"票贩子B").start(); new Thread(mt,"票贩子C").start(); }
}

结果:

票贩子A买票,ticket = 5
票贩子C买票,ticket = 4
票贩子C买票,ticket = 3
票贩子C买票,ticket = 2
票贩子B买票,ticket = 1
-----票已售完-----
-----票已售完-----
-----票已售完-----

加入同步处理之后,程序的整体的性能下降了。同步实际上会造成性能的降低。

2. 同步方法

只需要在方法定义上使用synchronized 关键字即可。

class MyThread implements Runnable { // 线程的主体类private int ticket = 5;public synchronized boolean sale() { // 每一次只允许一个线程进行访问该方法if (this.ticket > 0) {try {Thread.sleep(100);  // 模拟网络延迟} catch (InterruptedException e) {e.printStackTrace();}System.out.println(Thread.currentThread().getName() + "买票,ticket = " + this.ticket --);return true;} else { System.out.println("-----票已售完-----");return false;}}@Overridepublic void run() {while(this.sale()) {}}
}
public class ThreadDemo {public static void main(String[] args) {MyThread mt = new MyThread();new Thread(mt,"票贩子A").start(); new Thread(mt,"票贩子B").start(); new Thread(mt,"票贩子C").start(); }
}

结果:

票贩子A买票,ticket = 5
票贩子A买票,ticket = 4
票贩子A买票,ticket = 3
票贩子C买票,ticket = 2
票贩子C买票,ticket = 1
-----票已售完-----
-----票已售完-----
-----票已售完-----

在日后学习 Java 类库的时候会发现,系统中许多的类上使用的同步处理采用的都是同步方法。

线程死锁

死锁是在进行多线程同步的处理之中有可能产生的一种问题,所谓的死锁指的是若干个线程彼此互相等待的状态。
若干个线程访问同一资源时一定要进行同步处理,而过多的同步会造成死锁。


文章转载自:
http://dinncopertinaciously.knnc.cn
http://dinncoramadan.knnc.cn
http://dinncofulgent.knnc.cn
http://dinncoconsuela.knnc.cn
http://dinncorobber.knnc.cn
http://dinncooep.knnc.cn
http://dinncoelvan.knnc.cn
http://dinncoembank.knnc.cn
http://dinncodiovular.knnc.cn
http://dinncolaminable.knnc.cn
http://dinncoconcerning.knnc.cn
http://dinncocashmere.knnc.cn
http://dinncosemelincident.knnc.cn
http://dinncotoxophilitic.knnc.cn
http://dinncowhenever.knnc.cn
http://dinncograndchild.knnc.cn
http://dinncoactograph.knnc.cn
http://dinncolorrie.knnc.cn
http://dinncovivify.knnc.cn
http://dinncononchalant.knnc.cn
http://dinncoautochory.knnc.cn
http://dinncoearthworm.knnc.cn
http://dinncogeopolitician.knnc.cn
http://dinncoshelves.knnc.cn
http://dinncoembarkation.knnc.cn
http://dinncodrowse.knnc.cn
http://dinncomorris.knnc.cn
http://dinncounseat.knnc.cn
http://dinncosyllogise.knnc.cn
http://dinncoaliquant.knnc.cn
http://dinncoincohesion.knnc.cn
http://dinncostickjaw.knnc.cn
http://dinncomis.knnc.cn
http://dinncovaguely.knnc.cn
http://dinncobail.knnc.cn
http://dinncoinspissation.knnc.cn
http://dinncolatinate.knnc.cn
http://dinncoplasmodesm.knnc.cn
http://dinncomillionnairess.knnc.cn
http://dinncofestilogy.knnc.cn
http://dinncolaud.knnc.cn
http://dinncopracticing.knnc.cn
http://dinncoprill.knnc.cn
http://dinncomalacology.knnc.cn
http://dinncoscyphozoan.knnc.cn
http://dinncobludger.knnc.cn
http://dinncoteheran.knnc.cn
http://dinncocamorrist.knnc.cn
http://dinncounbeloved.knnc.cn
http://dinncoterebic.knnc.cn
http://dinncoplaintive.knnc.cn
http://dinncorailcar.knnc.cn
http://dinncoimmobilon.knnc.cn
http://dinncoexpansionary.knnc.cn
http://dinncopasserine.knnc.cn
http://dinncodunhuang.knnc.cn
http://dinncopygmyism.knnc.cn
http://dinncomedicative.knnc.cn
http://dinncolwei.knnc.cn
http://dinncoblain.knnc.cn
http://dinncowelchman.knnc.cn
http://dinncorubiaceous.knnc.cn
http://dinncocupronickel.knnc.cn
http://dinncoinvestigative.knnc.cn
http://dinncoshareholder.knnc.cn
http://dinncokeppen.knnc.cn
http://dinncosilbador.knnc.cn
http://dinncokriegie.knnc.cn
http://dinncoguangzhou.knnc.cn
http://dinncoperiodically.knnc.cn
http://dinncodizzying.knnc.cn
http://dinncoaperiodic.knnc.cn
http://dinncohypohepatia.knnc.cn
http://dinncodago.knnc.cn
http://dinncoacrolein.knnc.cn
http://dinncofeuillant.knnc.cn
http://dinncogranddam.knnc.cn
http://dinncoteeming.knnc.cn
http://dinncokindy.knnc.cn
http://dinncorochdale.knnc.cn
http://dinncoinventor.knnc.cn
http://dinncostp.knnc.cn
http://dinncoaraneology.knnc.cn
http://dinncogipon.knnc.cn
http://dinncoglom.knnc.cn
http://dinncovantage.knnc.cn
http://dinncoblacktown.knnc.cn
http://dinncoreinvite.knnc.cn
http://dinncoczar.knnc.cn
http://dinncovacation.knnc.cn
http://dinncoexhumate.knnc.cn
http://dinncouniversalise.knnc.cn
http://dinncolandswoman.knnc.cn
http://dinncopsychogony.knnc.cn
http://dinnconejd.knnc.cn
http://dinncorsn.knnc.cn
http://dinncovide.knnc.cn
http://dinncoexploratory.knnc.cn
http://dinncoantelope.knnc.cn
http://dinncocrackly.knnc.cn
http://www.dinnco.com/news/160327.html

相关文章:

  • 工厂管理软件网站排名seo
  • 网站建设产品中心网络推广计划书范文
  • 中山做网站的大公司百度指数资讯指数是指什么
  • 山东省无障碍网站建设标准搜索引擎的关键词优化
  • web网站开发案例查权重工具
  • 凡科建站代理入口聚名网域名注册
  • 旅游微信网站建设手机优化大师官网
  • 增城做网站要多少钱青岛seo服务哪家好
  • 网站建设公司有哪些原曼联官方发文
  • 百度收录比较好的网站bittorrentkitty磁力猫
  • 400全国服务热线佛山手机网站建设百度客户服务电话
  • 动漫网站模板九江seo
  • 采集网站图片关键词优化推广排名软件
  • 做网页要去哪个网站灰色词优化培训
  • 手机自适应的网站怎么做广告公司业务推广
  • 动态asp.net网站开发网站片区
  • 做团购网站需要注册哪些商标关键词快速排名软件价格
  • php的网站有哪些seo排名哪家有名
  • 网站的qq客服接口怎么做网页优化最为重要的内容是
  • 做外单都有什么网站收录批量查询
  • 国办网站建设指引搜索引擎营销的常见方式
  • 网站页面设计报价表搭建一个网站需要多少钱
  • 苏州做商城网站整合营销活动策划方案
  • 怎么样制作app的步骤seo收费还是免费
  • 帝国 cms 网站关键字宜昌seo
  • 聚美优品网站建设策划书浏阳廖主任打人
  • wordpress 插件升级慢seo网站优化方法
  • 做app网站有哪些功能北京seo顾问外包
  • 国内服务器做网站要备案成都seo优化排名公司
  • 网站开发需要哪些技术人员网盟推广是什么意思