互斥锁使用:
@synchronized{锁对象}{//需要锁定的代码}
互斥锁:
能有效防止因多线程抢夺资源造成的数据安全问题。
相关专业术语:
线程同步的意思是:多条线程按顺序的执行任务。
互斥锁就是使用了多线程技术。
互斥锁原理:
每一个对象内部都有一个锁(变量),当有线程要进入@synchronized到代码块中会先检查对象的锁是打开的还是关闭的状态,默认锁是打开状态(1)。如果是线程执行到代码块内部会先上锁(0)。如果锁关闭,再有线程要执行代码块就先等待,直到锁打开才可以进入。
1)线程执行到@synchronized,
2)上锁
3)执行代码块
4)执行完毕,开锁
5)线程等待(就绪状态)
加锁后,程序的执行效率比不加锁要低,因为线程要等待。但是,锁保证了多个线程同时操作全局变量的安全性。