Class ManyThreads2 {
private int j = 0;
Public synchronized Void Inc () {
j + +;
System.out.println (Thread.CurrentThread (). GetName () + "Inc" + j); }
public synchronized void Dec () {
j--;
System.out.println (Thread.CurrentThread (). GetName () + "Dec" + j);
}}
public class MyTest extends Thread {
Private MANYTHREADS2 many = new ManyThreads2 ();
public void Run ()
{many.inc ();
Many.dec ();
Many.inc ();
Many.dec ();
}
public static void Main (string[] args) {
TODO auto-generated Method Stub
MyTest MyTest = new MyTest ();
Mytest.start (); }
}
Print output a B C 10 times, respectively
public class MyTest extends Thread {
Char cha;
private int id;
int num=0;
static int count=0;
public MyTest (int id, char cha)
{this.id=id;
This.cha=cha;
}
Public synchronized void Run ()
{while (num<10) {
if (Count%3==id) {
SYSTEM.OUT.PRINTLN (ID);
count++;
num++;
}
} }
public static void Main (string[] args) {
TODO auto-generated Method Stub
New MyTest (1, ' A '). Start ();
New MyTest (2, ' B '). Start ();
New MyTest (3, ' C '). Start (); }
}
Java threading common face questions include adding minus 1 to multiple threads without using an inner class