多线程安全问题产生原因: 1,多个线程在操作数据。 2,操作共享数据的代码有多条。 一个线程在执行多条操作共享数据的过程中,其他线程参与了运算,这时就会发生安全问题。 想要分析是否有安全问题: 依据:线程任务中有没有共享数据,该数据是否被多条语句操作。 解决方案:只要保证一个线程在执行多条操作共享数据的语句是,其它线程不能参与运算即可。 当该线程都执行完后,其它线程才可以执行这些语句。 代码表现: 使用同步代码块; 格式: synchronized(对象)//对象可以使任意的对象。 { 需要被同步的语句。 }
|