189 8069 5689

java锁的测试代码 java中的锁怎么实现

java产生死锁原因,代码如下。

你这个不是死锁,就是flag的判断有问题,每个线程都是自己把自己锁住了,当flag为true时,看以下两段代码:

创新互联建站基于成都重庆香港及美国等地区分布式IDC机房数据中心构建的电信大带宽,联通大带宽,移动大带宽,多线BGP大带宽租用,是为众多客户提供专业服务器托管报价,主机托管价格性价比高,为金融证券行业四川绵阳服务器托管,ai人工智能服务器托管提供bgp线路100M独享,G口带宽及机柜租用的专业成都idc公司。

public synchronized void set(String name) {

if (flag)

try {

wait();

public synchronized void out() {

if (flag)

try {

wait();

两个线程都在wait,当然卡住不动了。

看你的代码,把set那段改成这样应该就好了:

public synchronized void set(String name) {

if (!flag)

try {

wait();

java 同步锁问题,synchronized关键字

如果没有差错的话报错应该是i=4这句吧,如果没有i操作锁,如何对i对象进行赋值等操作呢?当然会报异常的

急求!!用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锁的测试代码 java中的锁怎么实现
文章路径:http://cdxtjz.cn/article/dodigpe.html

其他资讯