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

ppt成品免费下载网站的seo

ppt成品免费下载,网站的seo,设计工作室怎么注册,多备份 wordpress基本介绍 线程同步机制:在多线程编程下,一些敏感数据不允许被多个现在在同一时刻访问,此时就使用同步访问机制,保证数据在任何同一时刻最多只有一个进程访问,以保证数据的完整性。(即:当有一个线程在对内存…

基本介绍

线程同步机制:在多线程编程下,一些敏感数据不允许被多个现在在同一时刻访问,此时就使用同步访问机制,保证数据在任何同一时刻最多只有一个进程访问,以保证数据的完整性。(即:当有一个线程在对内存操作时,其他的线程都不允许对这个内存地址进行操作,指代该线程完成操作,其他的线程才能对内存地址进行操作

细节讨论

  1. 关键字synchronized来与对象的互斥锁联系。当某个对象来用synchronized修饰时,表明该对象在任何一时刻只能由一个线程访问
  2. 同步的局限性:导致程序的执行效率低,因为同一时刻只能执行一个线程
  3. sychronized可以修饰方法也可以修饰代码块,分别称为同步方法和同步代码块。一般情况下建议使用同步代码块,因为这样的效率要高一些
  4. 同步方法(非静态)的锁对象可以是this,也可以是其他对象(要求是同一个对象)
  5. 同步方法(静态的)的锁对象是当前类本身

使用synchronized来处理售票时线程同步的问题:
代码:

public class Threads {public static void main(String[] args) {//会出现票超卖现象,原因:当我们还有1张票时,可能一下子来了2个线程,此时判断是否<=0时都不小于,所以继续往下执行卖票,导致票超卖现象Windows windows = new Windows();//同一个对象Thread thread1 = new Thread(windows);thread1.setName("窗口1");//设置线程的名字			Thread thread2 = new Thread(windows);thread2.setName("窗口1");Thread thread3 = new Thread(windows);thread3.setName("窗口3");thread1.start();thread2.start();thread3.start();}
}class Windows implements Runnable {private static int tickets = 100;//共享100张票private /*static*/ Boolean loop = true;//控制run方法变量public /*static*/ void sell() {//同步方法
//        Object object = new Object();synchronized (/*当方法为静态时锁对象是当前类本身为:Windows.class*/this/*当为非静态方法时也可以为object,因为object是这个类的对象,是同一个对象*/) {if (tickets <= 0) {System.out.println("没票了");loop = false;return;}try {Thread.sleep(10);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(Thread.currentThread().getName() + "卖了一张票,还剩" + (--tickets));}}@Overridepublic void run() {while (loop) {sell();
//            synchronized (this) {//同步代码块
//                if (tickets <= 0) {
//                    System.out.println("没票了");
//                    loop = false;
//                    return;
//                }
//
//                try {
//                    Thread.sleep(10);
//                } catch (InterruptedException e) {
//                    e.printStackTrace();
//                }
//
//                System.out.println("窗口" + Thread.currentThread().getName() + "卖了一张票,还剩" + (--tickets));
//            }}}
}

注意:一定要是同一个对象,如上述的windows。如果是不同的对象的话,相当于是不同的对象锁了,也就是不只一把锁,各用各的,当然就起不到线程同步了。比如:你要进厕所去方便,现在这个房间的门就相当于是对象锁,只能等里面的人出来后你在进入。若此时是不同的对象的话,就相当于有不同的门,也就是说现在这个厕所有不同的门可以进入了,那样就起不到防护机制了。

http://www.mmbaike.com/news/84925.html

相关文章:

  • 中企动力网站怎么样免费服务器
  • 那个网站专做委外发手工南昌seo排名公司
  • 做网站建设怎么跑客户网络营销软件推广
  • 上海门户网站开发百度一下搜索一下
  • java主要就是做网站吗代写平台在哪找
  • 免费网站空间 评测下载百度浏览器
  • 政府网站建设与对策分析淘宝推广平台
  • 哪些网站可以做h5市场推广计划方案模板
  • 安徽门户网站建设优化服务公司
  • 瑞丽航空公司官方网站灰色关键词排名代做
  • 买了虚拟主机怎么做网站软件外包公司排行
  • 房产网站开发公司推广方式营销方案
  • 企业网站开发研究现状万网域名管理平台
  • 网站推广的方法百度有效点击软件
  • 广东省城乡建设厅网站首页关键词名词解释
  • 宠物网站开发与实现结论推广是做什么工作的
  • 广东深圳最新疫情沈阳关键词seo排名
  • 网站 空间 域名怎么给产品做网络推广
  • 福田网站制作搜索引擎优化简称
  • 公司建网站多少钱seo1搬到哪里去了
  • 沈阳便宜做网站的莫停之科技windows优化大师
  • 在网上找做设计是什么网站东莞网站优化
  • 如何让网站自适应屏幕深圳网站设计公司哪家好
  • 手机端网站做app开发收录优美图片topit
  • 有没有做网站的公司百度电话号码
  • 南昌做网站电话谷歌搜索入口手机版
  • c 做的网站怎么上传seo关键词排名网络公司
  • 营销型网站有那些网站如何免费推广自己的网站
  • 企业管理系统项目简介怎么写济宁seo优化公司
  • 网站的百度推广怎么做的广州疫情防控措施