synchronized 锁住的是对象!! 一定是所有线程间共享的同一个对象!!!!
今天在写多线程代码的时候,找了好久的一个bug,
下面是错误代码
package mianshi;
public class threadTest {
private Integer product = 5;
// private String product = "lock";
public static void main(String[] args) {
threadTest t = new threadTest();
new Thread(t.new Product(), "Producter1").start();
new Thread(t.new Consumer(), "Consumer1").start();
new Thread(t.new Product(), "Producter2").start();
new Thread(t.new Consumer(), "Consumer2").start();
}
class Product implements Runnable {
@Override
public void run() {
while (true){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
synchronized (product