Montag, 13. April 2009

Threads / Nebenläufigkeit

Hier mal eben ein kleines Beispiel zum Thema Nebenläufigkeit in Java. Ein kleines Beispiel, wie man in Java mit Threads arbeiten kann. Erklärung erfolgt vielleicht demnächst noch, bis dahin hoffe ich einfach, es ist selbsterklärend ;) Ihr könnt aber natürlich jederzeit per Kommentar nachfragen...


public class Test {
public static void main(String[] args) {

final String lock = "theLock";

MyThread a = new MyThread("A");
MyThread b = new MyThread("B");

a.setLock(lock);
b.setLock(lock);

Thread anonymous = new Thread() {
public void run() {
synchronized(lock) {
System.out.println("I was active...");
lock.notifyAll();
}
}
};

a.start();
b.start();
anonymous.start();

}

}

class MyThread extends Thread {

public MyThread(String name) {
super(name);
}

private String lock;

public void setLock(String lock) {
this.lock = lock;
}

public void run() {
synchronized(lock) {
try {
lock.wait();
System.out.println(getName()
+ " holds lock: " + holdsLock(lock));
}
catch(InterruptedException e) {
e.printStackTrace();
}
}
}
}

Keine Kommentare:

Kommentar veröffentlichen

Hier kann jeder (auch unregistrierte) Leser seine Meinung kundtun...