1、多线程共享数据
- 可能带来的问题:数据不安全
- 原因:多线程共同操作数据时,引发的冲突(如延时操作,操作未全部完成等等 )
2、给线程加锁,同步方法
- 使用synchronized修饰的方法控制对类成员变量的访问(参数列表){ }
- synchronized访问修饰符,返回类型方法名(参数列表){}
- synchronized就是为当前的线程声明的一把锁
3、同步代码块也可以
- 多个并发线程访问同一个资源的同步代码块时
- 同一时刻只能有一个线程进入synchronized(this)同步代码块
- 当一个线程访问一个synchronized(this)同步代码块时,其他synchronized(this)同步代码块童颜被锁定
- 当一个线程访问一个synchronized(this)同步代码快时,其他线程可以访问该资源的非synchronized(this)同步代码