网站建设资讯

NEWS

网站建设资讯

java锁的使用实例代码,java中的各种锁详细介绍

如何使用java的锁机制

可以在临界区代码开始的位置执行Lock类的lock方法,为代码块加锁,而在临界区的出口使用相同Lock实例的unlock方法,释放临界区资源。

创新互联服务紧随时代发展步伐,进行技术革新和技术进步,经过10余年的发展和积累,已经汇集了一批资深网站策划师、设计师、专业的网站实施团队以及高素质售后服务人员,并且完全形成了一套成熟的业务流程,能够完全依照客户要求对网站进行网站设计、做网站、建设、维护、更新和改版,实现客户网站对外宣传展示的首要目的,并为客户企业品牌互联网化提供全面的解决方案。

Demo2-12中,主线程先创建了一个lockTest对象test,然后将相同的test对象交给两个不同的线程执行。子线程1获取到了lock后,开始执行before sleep输出语句,遇到sleep后,线程1阻塞将会放弃执行权,这时线程2可以获取执行权,当线程2执行lock方法时,发现锁已经被别的线程获取,所以线程2阻塞等待lock的释放。线程1从sleep中被唤醒后,将继续执行after sleep语句,之后释放了锁,此时线程2从锁等待中被唤醒,执行临近区的内容,因此Demo2-12的输出是先线程1的两条语句,之后才输出线程2的两条语句。而Demo2-13在没有锁的保护下,程序无法保证先将线程1的两条语句输出后再执行线程2的输出,因此,Demo2-13的输出结果是交叉的。

java中 请问我应该如何如何锁这段代码才符合要求

public Object getObject(String key,Object o) {

synchronized (map) {

if(map.get(key)==null) {

map.put(key,o)

}else {

return map.get(key);

}}// 格式没法弄,自己弄一下

}

// demol0326 的回答意思使用MyTest的实例来加锁,但是map是static的,无法锁住

// MyTest的多个实例在多个线程中的请求

//禾木双子 :如果A线程在getObject方法的第二行停止,此时B线程进入getObject后执行部分代码, 此时B线程停止,A线程启动,他不会执行'多线程处理', 仍然有线程线程安全问题,(想像一下更多的线程进入该方法的情况,num甚至会得到负值)

急求!!用Java程序模拟该电子门锁,只要完整代码。

实现UI界面吗?

用一个VECTOR保存密码,程序下次运行不就又不可以了吗?

package chen.util.algorithm;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.util.Vector;

public class Test2 {

public static void main(String[] args) throws IOException {

VectorString v = new VectorString(1);

v.add(0, "123"); // 设置出示密码

// 利用控制台来设置我们需要打印的值。

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

// 程序要一直执行。如果程序重新运行就会把密码更改为123。建议你吧密码保存到本地文件或者数据库。

while(true){

String mima;

mima = br.readLine();

System.out.println("更改密码请输入321");

// 用户更改密码

if(mima.equals("321")){

String mima1 = br.readLine();

v.add(0, mima1);

}

// 密码正确后执行

if(mima.equals(v.get(0))){

System.out.println("正确");

}

// 初始密码 123

if(mima.equals(v.get(0))){

System.out.println("用户使用初始化密码进入系统");

}

}

}

}

如何在Java中使用双重检查锁实现单例

public Singleton {

private Singleton instance;

private Singleton() {} // 构造器私有化

public static Singleton getInstance() {

if (instance == null) { // 第一次检查不加锁

synchronized(Singleton.class) { // 加锁 

if (instance == null) { // 第二次检查是在加锁的情况下

instance = new Singleton();

}

}

}

return instance;

}

}


分享标题:java锁的使用实例代码,java中的各种锁详细介绍
文章URL:http://cdweb.net/article/dsgjihd.html