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

厦门建设网站中国菲律宾足球历史战绩

厦门建设网站,中国菲律宾足球历史战绩,腾讯云买域名,wordpress匿名投稿目录线程的同步---以三个窗口售票100张为例方式一#xff1a;同步代码块方式二#xff1a;同步方法使用同步机制的作用#xff1a;线程的同步—以三个窗口售票100张为例 #xff08;1#xff09;问题#xff1a;卖票的过程出现重票和错票 #xff08;2#xff09;原因… 目录线程的同步---以三个窗口售票100张为例方式一同步代码块方式二同步方法使用同步机制的作用线程的同步—以三个窗口售票100张为例 1问题卖票的过程出现重票和错票 2原因当某个线程操作车票的过程中尚未操作完成其他线程参与进来也操作车票 3解决当一个线程a在操作共享对象时其他线程不能参与进来直到线程a操作完毕其他 线程才可以开始操作共享对象。 这种情况即使线程a出现了阻塞也不能被改变 4java中通过同步机制来解决线程的安全问题 方式一同步代码块 synchronized(同步监视器){//需要被同步的代码操作共享数据的代码 //共享数据多个线程共同操作的变量 //不能包含太多不也能包太少}同步监视器----俗称锁任何一个类的对象,都可以充当锁 要求多个线程必须要共用同一把锁,唯一性 ** 补充1在实现Runnable接口中使用this做同步监视器 ** class Window1 implements Runnable {/*只创造了一个Window1对象,因此可以实现100张票共享*/private int ticket100;Object obnew Object();//任何一个类的对象,都可以充当锁Overridepublic void run() {while(true){synchronized(this) {//此时的this唯一的window1对象不用在另外创建一个类的对象// synchronized(ob) {if (ticket 0) {System.out.println(Thread.currentThread().getName() 卖票 ticket);ticket--;} else {break;}}}} }补充2在继承Thread类创建多线程的方式中使用 线程类.class 作为同步监视器慎用this class Window2 extends Thread{private static int ticket100;private static Object objnew Object();Overridepublic void run(){while(true) {// synchronized (obj) {synchronized (Window2.class) {//类类型的对象也可以// synchronized(this) {错误在继承这种方法的时候不能写this,因为new的时候会产生多个对象try {Thread.sleep(100);} catch (InterruptedException e) {e.printStackTrace();}if (ticket 0) {System.out.println(getName() 卖票 ticket);ticket--;}}}}} }方式二同步方法 将需要进行同步的代码放在一个方法中给方法加上synchronized 关于同步方法的总结 ①同步方法仍然涉及到同步监视器只是不需要显示声明 ②非静态的同步方法同步监视器是this 静态的同步方法同步监视器是当前类的本身 类.class ** 1.用同步方法解决实现Runnable接口创建多线程 ** class Window3 implements Runnable {/*只创造了一个Window1对象,因此可以实现100张票共享*/private int ticket100;Overridepublic void run() {while(true){show();}}private synchronized void show(){if (ticket 0) {try {Thread.sleep(100);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(Thread.currentThread().getName() 卖票 ticket);ticket--;}} } 2**.同步方法解决继承Thread类创建多线程 ** class Window4 extends Thread{private static int ticket100;Overridepublic void run(){while(true) {show();}}private static synchronized void show(){//此时同步监视器Window4.class//private synchronized void show(){//同步监视器的对象不唯一和new 有关if (ticket 0) {try {Thread.sleep(100);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(Thread.currentThread().getName() 卖票 ticket);ticket--;}} }使用同步机制的作用 好处----同步的方式解决了线程的安全问题 局限性----操作同步代码时只能有一个线程参与其他线程等待。相当于是一个单线程的过程效率低
http://www.hkea.cn/news/14474658/

相关文章:

  • 做网站多少钱啊在门户网站建设上的讲话
  • 网站内容seo宿迁建设局网站a类证查询
  • 纯英文网站建设aspx网站配置服务器
  • 网站建设制作fash静安做网站公司
  • 网站改成响应式上海做家教去哪个网站
  • 收录情况如何做外贸网站优化推广
  • 网站开发常见问题总结制作海报的app免费
  • 南京做网站优化的公司网站备案所需材料
  • 网站自适应宽度旅游网站首页模板下载
  • 网站厨师短期培训班美乐乐网站首页如何修改
  • 炉火建站网站首页结构图
  • ie 常用网站免费的黄冈网站有哪些
  • 网站屏蔽中国ip餐饮加盟网站建设
  • 上海建设工程协会网站org的域名网站
  • 建设银行企业官方网站网站备案被删除
  • 静态网站可以做哪些百度权重网站排名
  • 企业做网站应注意什么建设网站费用入会计分录
  • 网站降权怎么恢复如何做服装微商城网站建设
  • 怎么做网站滑动图片部分wordpress小工具浮动
  • 网站建设 镇江唐山建站公司模板
  • 网站网讯Wordpress显示成缩略图
  • 定制网站开发哪里好定制v软件下载
  • 网站维护明细报价表网站建设是什么工作
  • 娱乐网站建设方案优化网站具体如何做
  • 网站建设构想wordpress柳城
  • 持续推进网站建设2015年友情链接网站源代码下载
  • 浏览器禁止网站怎么做重庆招聘信息最新招聘2021
  • 500强企业网站建设云南app制作
  • 采集网站图片外贸网站演示
  • 2018网站开发最流行的语言设计都有什么设计