转载

java多线程

当多条语句在操作一个共享数据,一个数据对多条语句只执行了一部分, 还未执行完时,另一个参与进来,导致错误。

解决方法:

  • 同步代码块:对于多条共享的语句,让一个线程先执行完。

    synchronized(对象)//相当于“锁”
      {
          需要被同步的代码//用到try,catch;
          }
    复制代码

多线程-同步函数

步骤:

1、明确哪些代码是多线程运行代码;

2、明确共享数据;

3、明确多线程运行代码中哪些语句是操作共享数据的;

多线程同步函数的锁是this:

函数需要被对象调用,那么函数都有一个所属对象引用,即this,所以同步函数的锁就是this.

原文  https://juejin.im/post/5dbc1a6ae51d452a0846360a
正文到此结束
Loading...