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

做外贸网站空间多少gseo客服

做外贸网站空间多少g,seo客服,通信网站模板,成都网站建设哪家基本介绍 线程同步机制:在多线程编程下,一些敏感数据不允许被多个现在在同一时刻访问,此时就使用同步访问机制,保证数据在任何同一时刻最多只有一个进程访问,以保证数据的完整性。(即:当有一个线程在对内存…

基本介绍

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

细节讨论

  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.hkea.cn/news/422548/

相关文章:

  • 嘉兴做网站优化的公司网站维护公司
  • css层叠样式会不会影响打开网站的速度百度免费下载安装百度
  • 网站模板制作流程nba交易最新消息汇总
  • 近的网站在线客服系统网络优化工程师前景如何
  • 网站制作职业google入口
  • 广州网站 制作信科便宜网络营销软文范例500
  • 网站建设公开课长沙网站推广和优化
  • 建设网站的需求分析俄罗斯搜索引擎yandex推广入口
  • 可以做英文纵横字谜的网站搜狗网站收录入口
  • web前端开发是不是做网站百家号关键词排名优化
  • 夸克看网站要钱吗电商网站seo优化
  • 自己做网站排版138ip查询网域名解析
  • 东莞做网站 南城石佳2023网站推广入口
  • 广东省省建设厅网站郴州网站建设网络推广平台
  • 校园网站推广方案怎么做应用商店优化
  • 巩义网站建设网络营销公司是做什么的
  • 做网站基本教程一站式营销平台
  • 杭州模板网站建设电脑培训网上培训班
  • 大连做网站不错的公司怎样把广告放到百度
  • 网站上面带官网字样怎么做的网站设计的流程
  • 有个网站是做视频相册的网球排名即时最新排名
  • 论坛网站备案流程图优化大师怎么提交作业
  • 织梦政府网站模板百度在线入口
  • 专业做婚纱摄影网站会员制营销
  • 网站内容丰富互动营销平台
  • 阿里巴巴logo高清图谷歌seo网站推广
  • 网站如何做内链seo高手是怎样炼成的
  • 设计师个人网站建设怎样注册一个自己的平台
  • 徐州营销网站建设产品线上推广渠道
  • 绍兴市网站建设公司企业官网搭建