同步技术的原理:
synchronized内置锁就是Java的一种重量级锁
同步代码块和同步方法的好处:解决了多个线程同时被访问共享数据时的线程安全问题。
弊端:非常消耗资源,效率较低
作用:它可以解决并发编程中出现多个线程同时访问一个共享。
说明:synchronized是一个隐式锁,也是jvm内置的锁,它会自动加锁和解锁,同时java的每个对象都可以作为锁。
图:
使用了一个锁对象,这个锁对象叫同步锁也叫对象锁也叫对象监视器3个线程一起抢夺cpu的执行权谁抢到了谁执行run方法进行卖票
同步方法
被synchronized修饰的方法在某时刻只允许一个线程访问
格式:
修饰符 synchronized 返回值类型 方法名(参数){
}
同步方法没有同步代码块灵活
同步方法也有锁,即this指向的对象
举例: