我正在尝试使用线程编写一个基本程序。假设我有两个线程,t1 和 t2 并锁定 x。假设锁 x 分配给 t1。什么时候会因为锁 x 被分配给 t1 而导致 t2 无法处理?我正在尝试创建一个简单的示例来演示锁/线程是如何工作的。
我很感激在这件事上的任何帮助。
这是我到目前为止得到的:
天行者级:
import java.util.*;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
public class Skywalker{
public static void main(String args[]){
Thread t1 = new Thread("station 1");
Thread t2 = new Thread("station 2");
t1.start();
t2.start();
}
}
达斯班:
import java.util.Random;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
public class Darth implements Runnable{
String stationName;
Lock x = new ReentrantLock();
Random r = new Random();
public Darth(String name){
stationName = name;
}
public void run(){
try{
x.lock();
System.out.println(stationName + "is working");
sleep(randomTime);
x.unlock();
} catch(Exception e) {
}
}
}