1、两个线程同时访问一个对象的同步方法
public class SynchroizedObject extends Thread{static SynchroizedObject instance new SynchroizedObject();public static void main(String []args) {Thread t1 new Thread(instance);Thread t2 new Thread(instance);t1.star…
1.使用synchronized悲观锁
(秋招阿里的一个笔试题,应该写的比较复杂,然后就没有然后了o(╥﹏╥)o)
public class ThreadThreadp {private int flag 0;public synchronized void printa() throws InterruptedException {while (…
这个可能是最好的对比volatile和synchronized作用的文章了。volatile是一个变量修饰符,而synchronized是一个方法或块的修饰符。所以我们使用这两种关键字来指定三种简单的存取变量的方式。
int i1;
int geti1() {return i1;
}volatile int i2; …
这个可能是最好的对比volatile和synchronized作用的文章了。volatile是一个变量修饰符,而synchronized是一个方法或块的修饰符。所以我们使用这两种关键字来指定三种简单的存取变量的方式。 int i1; int geti1() { return i1; } volati…
上代码:
public class Test {public static void main(String[] args) {ThreadTicket ticket new ThreadTicket();Thread t1 new Thread(ticket); Thread t2 new Thread(ticket); t1.start();t2.start();}
}class ThreadTicket implements Runnable {int ticket …
Synchronized【对象锁】采用互斥的方式让同一时刻至多只有一个线程能持有【对象锁】,其它线程再想获取这个【对象锁】时就会阻塞住 如下抢票的代码,如果不加锁,就会出现超卖或者一张票卖给多个人
public class TicketDemo {static Object lo…