十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
对象是一个锁标志。按照先到先得的原则,如果有多个线程都会执行代码,并使用同一个对象作为锁,
成都创新互联公司专注于企业全网营销推广、网站重做改版、市南网站定制设计、自适应品牌网站建设、H5网站设计、成都商城网站开发、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为市南等各大城市提供网站开发制作服务。
synchronize(对象){ .... }
那么,先执行这段代码的那个线程,将会获得这个对象锁,而当这个线程执行这段代码的时候,其他线程也是使用这个对象作为锁的,就不能执行这段代码,知道最初得到这个锁的线程运行完这段代码,然后再把锁分配给下一个线程执行。
多线程临界资源肯定不能写线程内,要另外写一个类,另外while(Tickets=0)这里明显写成了死循环,所以以上代码思路完全错误
能。java代码右下角加锁能运行,是因为多线程共享的代码区域需要上锁,防止多线程同时访问代码块,造成线程安全问题。