线程安全篇
通过同步代码块和同步方法的方式解决线程的安全问题
长风yaya
这个作者很懒,什么都没留下…
展开
-
5通过Lock锁解决线程的安全问题
通过Lock锁解决线程的安全问题class windows implements Runnable{ private int ticket = 100; private ReentrantLock lock = new ReentrantLock(true); @Override public void run() { while (true){ //2.调用锁定lock() lock.lock();原创 2020-11-30 17:17:48 · 140 阅读 · 0 评论 -
4使用同步方法解决继承Thread类的线程安全问题
使用同步方法解决继承Thread类的线程安全问题class windows4 extends Thread{ public static int tickets = 100; @Override public void run() { while (true){ show(); } } private static synchronized void show(){ if(tickets &g原创 2020-11-30 17:14:30 · 495 阅读 · 0 评论 -
1.使用同步代码块的方式解决Runnable的线程安全问题
使用同步代码块的方式解决Runnable接口的线程安全问题class Window1 implements Runnable { private static int tickets = 100; Object obj = new Object(); @Override public void run() { while (true) { synchronized(this){ //此时的this:唯原创 2020-11-30 16:21:39 · 264 阅读 · 0 评论 -
2.使用同步代码块的方式解决Thread类的线程安全问题
使用同步代码块的方式解决Thread类的线程安全问题class windows2 extends Thread { public static int ticket = 100; public static Object obj = new Object(); @Override public void run() { while (true) { // synchronized(windows2.class){原创 2020-11-30 16:06:27 · 100 阅读 · 0 评论 -
3.使用同步方法解决实现Runnable接口的线程安全问题
使用同步方法解决实现Runnable接口的线程安全问题class windows3 implements Runnable { public int tickets = 100; @Override public void run() { while (true) { show(); } } private synchronized void show(){ //同步监视器:this原创 2020-11-30 16:42:54 · 246 阅读 · 0 评论