import com.test.thread.Print; import java.util.concurrent.locks.Lock; public class bobbleSort extends Thread{ 
    private int[] arr; 
    private static int taskCount = 0 ; 
    private final int id =taskCount ++; 
    private static int time; 
  
    public bobbleSort( int[] a ) { 
        arr =a; 
        start(); 
    } 
    
    public void run() { 
        testBobbleSort.bsort( arr, id); 
    
    } 
  

import com.test.thread.Print; import java.util.List; import java.util.ArrayList; 
import java.util.Set; 
import java.util.concurrent.ExecutorService; 
import java.util.concurrent.Executors; public class testBobbleSort { 
    public static volatile List l = new ArrayList(); ; 
    public testBobbleSort() { 
      
    }     public static void main(String[] args) { 
        int [][] p ={ {2,44,399,787,333,22,2,1,2,3,2,2,1},{55,3,12,6,8,90,79},{77,5,34,56,23,65,44,53}}  ; 
        ExecutorService exe = Executors.newCachedThreadPool(); 
        for( int i = 0 ; i < p.length ; i++ ) {  
            exe.execute(new bobbleSort(p[i])); 
        } 
        exe.shutdown(); 
      
        PrintL(); 
        Print.print(l.size()); 
  
    } 
        
    public static void PrintL( ) { 
        
        for( int n = 0 ; n < l.size() ; n ++) 
        Print.print( l.get(n )); 
    } 
    
    public static synchronized  void bsort( int[] arr , int id) { 
        int outer , inner , i ; 
        for( outer = arr.length-1 ; outer > 1 ; outer-- ){ 
            for(  i = 0 ; i < outer ; i++) 
                if( arr[i] > arr[i+1]){ 
                int temp; 
                temp = arr[i]; 
                arr[i] = arr[i+1]; 
                arr[i+1] = temp; 
            } 
        } 
        StringBuilder stu = new StringBuilder( "#id==[" + id + "]--"); 
        for(  i = 0 ; i < arr.length ; i++ ) 
            stu.append(arr[i]).append("-"); 
      
        l.add(stu.toString()); 
        
    } 
    
  
} 我明明写了 synchronized 
为什么 输出结果是:70%(SAME) 
#id==[0]--1-1-2-2-2-2-2-3-22-44-333-399-787- 
#id==[0]--1-1-2-2-2-2-2-3-22-44-333-399-787- 
#id==[1]--3-6-8-12-55-79-90- 
#id==[1]--3-6-8-12-55-79-90- 
#id==[2]--5-23-34-44-53-56-65-77- 
#id==[2]--5-23-34-44-53-56-65-77- 重复加了 一遍