Java锁示例

Posted 四季万花筒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java锁示例相关的知识,希望对你有一定的参考价值。

以下是一段多线程锁机制示例代码:

 1 package lock;
 2 
 3 import java.util.concurrent.locks.Lock;
 4 import java.util.concurrent.locks.ReentrantLock;
 5 
 6 public class ThreadTest {
 7     private int j;
 8     private Lock lock = new ReentrantLock();
 9     
10     public static void main(String[] args){
11         ThreadTest tt = new ThreadTest();
12         for (int i=0; i<2; i++){
13             new Thread(tt.new Adder()).start();
14             new Thread(tt.new Subtractor()).start();
15         }
16     }
17     
18     private class Subtractor implements Runnable{
19         public void run(){
20             while (true){
21                 
22                 lock.lock();
23                 
24                 try{
25                     System.out.println("j--=" + j--);
26                 }finally{
27                     lock.unlock();
28                 }
29             }
30         }
31     }
32     
33     private class Adder implements Runnable{
34         public void run(){
35             while(true){
36                 
37                 lock.lock();
38                 try{
39                     System.out.println("j++" + j++);
40                 }finally{
41                     lock.unlock();
42                 }
43             }
44         }
45     }
46 }

 

以上是关于Java锁示例的主要内容,如果未能解决你的问题,请参考以下文章

Java并发多线程编程——锁绑定多个条件Condition示例

java并发线程锁技术的使用

Java锁示例

java中ReentrantReadWriteLock读写锁的使用

java JAQL片段示例1:创建数据库

Java面试-锁的内存语义