Package com.test;
public class Traditionalthreadsynchronized {
public static void Main (String [] arge) {
New Traditionalthreadsynchronized (). Init ();
}
private void init () {
Final Outputer out =new outputer ();
New Thread (New Runnable () {
public void Run () {
while (true) {
try {
Thread.Sleep (10);
} catch (Interruptedexception e) {
E.printstacktrace ();
}
Out.output ("Zhangxiaoxiang");
}
}
}). Start ();
New Thread (New Runnable () {
public void Run () {
while (true) {
try {
Thread.Sleep (10);
} catch (Interruptedexception e) {
E.printstacktrace ();
}
OUT.OUTPUT3 ("liguoming");
}
}
}). Start ();
}
Static Class outputer{
public void output (String name) {
int len = Name.length ();
Synchronized (Outputer.class) {
for (int i = 0; i<len;i++) {
System.out.print (Name.charat (i));
}
System.out.println ();
}
}
Public synchronized void Output2 (String name) {
int len = Name.length ();
Synchronized (this) {
for (int i = 0; i<len;i++) {
System.out.print (Name.charat (i));
}
System.out.println ();
}
}
public static synchronized void Output3 (String name) {
int len = Name.length ();
for (int i = 0; i<len;i++) {
System.out.print (Name.charat (i));
}
System.out.println ();
}
}
}
Multi-threaded mutex, used to synchronized