安全隐患:
多线程具有资源共享的特点, 一块资源有可能同时被多个线程共享, 也就是说在同一时刻有多个线程会去访问同一块资源. 例如: 多个线程访问同一块对象, 同一个变量, 同一个文件.
当多个线程同时去访问同一块资源的时候, 这样的行为很容易引发数据错乱和数据安全问题.
去消除多线程的安全隐患, 就要去给它加上一把锁, 这把锁叫做互斥锁.
互斥锁使用格式
@synchronized(锁对象) {
// 需要锁定的代码
};"
注意:锁定1份代码只用1把锁,用多把锁是无效的
互斥锁的优缺点
优点:能有效防止因多线程抢夺资源造成的数据安全问题
缺点:需要消耗大量的CPU资源
互斥锁的使用前提:多条线程抢夺同一块资源
相关专业术语:线程同步
线程同步的意思是:多条线程在同一条线上执行(按顺序地执行任务)
互斥锁,就是使用了线程同步技术