java多线程设计模式全部源码:
模式图
类图
代码
- Main.java
public class Main {
public static void main(String[] args) {
Person person = new Person("hi nihao!");
new PrintPersonThread(person).start();
new PrintPersonThread(person).start();
new PrintPersonThread(person).start();
}
}
- Person.java
public class Person {
//name只许读不许被修改
private final String name;
public Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
PrintPersonThread.java
public class PrintPersonThread extends Thread {
private Person mPerson;
public PrintPersonThread(Person person) {
this.mPerson = person;
}
@Override
public void run() {
while(true) {
System.out.println(Thread.currentThread().getName() + " print " + mPerson.getName());
}
}
}
- 结果图