这篇文章主要介绍java同步怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
1、为了保持跨线程的正确可见性,必须使用synchronized或volatile。
2、读取可能是另一个线程最终写入的变量。
3、写一个可能被另一个线程读取的变量。
实例
class SellTicket implements Runnable { private int tickets = 10; public void run() { while (true) { if (tickets > 0) sell(); else return; } } public synchronized void sell() { if (tickets > 0) { System.out.println(Thread.currentThread().getName() + "卖出第" + tickets + "张票"); tickets--; try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } } } } public class TicketTest { public static void main(String args[]) { SellTicket t = new SellTicket(); new Thread(t, "窗口1").start(); new Thread(t, "窗口2").start(); new Thread(t, "窗口3").start(); System.out.println("主线程结束"); } }
以上是“java同步怎么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。