Java多线程同步在语言应用中十分的关键,我们在不断的学习中就会注意到这一点。下面我们就详细的看看如何才能更好的进行Java多线程同步的应用。下面的代码会对你有所帮助。

目前创新互联已为上1000家的企业提供了网站建设、域名、虚拟主机、成都网站托管、企业网站设计、盐池网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
一个很重要的关键字就是线程同步synchronized,下面的火车票的售票系统的模型:同步分
同步块和同步方法:
- class SellThread implements Runnable
 - {
 - int tickets=100;
 - Object obj=new Object();
 - boolean b=false;
 - public void run()
 - {
 - if(b==false)
 - {
 - while(true)
 - sell();
 - }
 - else
 - {
 - while(true)
 - {
 - synchronized(obj)
 - {
 - try
 - {
 - Thread.sleep(10);
 - }
 - catch(Exception e)
 - {
 - e.printStackTrace();
 - }
 - synchronized(this)
 - {
 - if(tickets>0)
 - {
 - System.out.println
 - ("obj:"+Thread.currentThread().getName()+
 - "
 - sell tickets:"+tickets);
 - tickets--;
 - }
 - }
 - }
 - }
 - }
 - }
 - public synchronized void sell()
 - {
 - synchronized(obj)
 - {
 - if(tickets>0)
 - {
 - try
 - {
 - Thread.sleep(10);
 - }
 - catch(Exception e)
 - {
 - e.printStackTrace();
 - }
 - System.out.println("sell():"+Thread.currentThread
 - ().getName()+
 - " sell tickets:"+tickets);
 - tickets--;
 - }
 - }
 - }
 - }
 
通过网上资料得知:同步块和同步方法其实本质是一样的:都是对对象枷锁。Java多线程同步中每个对象都有一个监视器----锁,同步方法是利用this所代表的对象的锁,同步块利用的是同步块对象本身的锁。
                网页标题:Java多线程同步具体实例讲解
                
                文章源于:http://www.csdahua.cn/qtweb/news9/144659.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网