首页 > 代码库 > java 5 Lock

java 5 Lock

 1 import java.util.concurrent.locks.Lock; 2 import java.util.concurrent.locks.ReentrantLock; 3  4 public class LookTest 5 { 6     public static void main(String[] args) 7     { 8         runThread("hello"); 9         runThread("world");10     }11     12     private static void runThread(final String str)13     {14         new Thread(new Runnable()15         {16             public void run()17             {18 //                outPut(str);19                 outPut2(str);20             }21         }).start();22     }23 24     private static void outPut(String str)25     {26         // 使用synchronized对代码加锁27         synchronized (LookTest.class)28         {29             for(int i = 0; i < str.length(); i++)30             {31                 System.out.print(str.charAt(i));32             }33             System.out.println();34         }35     }36 37     private static Lock lock = new ReentrantLock();38     private static void outPut2(String str)39     {40         // 使用lock锁41         lock.lock();42         for(int i = 0; i < str.length(); i++)43         {44             System.out.print(str.charAt(i));45         }46         System.out.println();47         lock.unlock();48     }49 }

输出结果:

world
hello

java 5 Lock