用线程池开启五个线程处理list数组,每个数组处理20条数据,最终结果是最后一个线程的数据处理了五次,而其他四个线程中的数据自动消失了。查找原因是因为开启线程的时候没有new 一个新的runnable的子类,导致每次五个线程中的数据是共享的,所以前四个线程中的数据都修改为了最后一个线程中的数据。
开启多线程时,每次都要new一个runnable的子类。
用线程池开启五个线程处理list数组,每个数组处理20条数据,最终结果是最后一个线程的数据处理了五次,而其他四个线程中的数据自动消失了。查找原因是因为开启线程的时候没有new 一个新的runnable的子类,导致每次五个线程中的数据是共享的,所以前四个线程中的数据都修改为了最后一个线程中的数据。
开启多线程时,每次都要new一个runnable的子类。