Java基础面试题之===高并发

1:什么是Java中的线程同步

线程同步就是给共享资源加把锁,保证同一时刻只有一个线程能访问它。

1:Java中的同步方式有哪些?

        synchronized

        Java内置的加锁关键字,在方法或代码块上加上就行,JVM自动帮你加锁解锁,用起来最省心.

// 同步代码块,锁粒度更细 public void transfer(int amount) { synchronized (this) { balance -= amount; } } // 同步方法 public synchronized void transfer(int amount) { balance -= amount; }

        ReentranLock

        JUC包提供的可重入锁,需要手动调用lock()上锁,用完必须在fnally块里 unlock()解锁,否则死锁。

// 1. 定义一个可重入锁实例,通常声明为 priva