public class TraditionalThreadSynchronized {
public static void main(String[] args){
new TraditionalThreadSynchronized().init();
}
public void init(){
final Oupter oupter = new Oupter();
new Thread(new Runnable() {
@Override
public void run() {
while(true){
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
oupter.print3("wangrui");
}
}
}).start();
new Thread(new Runnable() {
@Override
public void run() {
while(true) {
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
oupter.print4("shenpei");
}
}
}).start();
}
static class Oupter{
String xxx="aa";
public void print(String name){
/* synchronized (xxx){
int len = name.length();
for (int i=0;i<len;i++) {
System.out.print(name.charAt(i));
}
System.out.println();
}*/
synchronized (this){
int len = name.length();
for (int i=0;i<len;i++) {
System.out.print(name.charAt(i));
}
System.out.println();
}
}
public synchronized void print2(String name){
int len = name.length();
for (int i=0;i<len;i++) {
System.out.print(name.charAt(i));
}
System.out.println();
}
public static synchronized void print3(String name)//类的字节码文件
int len = name.length();
for (int i=0;i<len;i++) {
System.out.print(name.charAt(i));
}
System.out.println();
}
public void print4(String name){
synchronized (Oupter.class){
int len = name.length();
for (int i=0;i<len;i++) {
System.out.print(name.charAt(i));
}
System.out.println();
}
}
}
}
如有疑问,请发邮件:[email protected]
github: https://github.com/wangrui0/