First, design a class to handle the addition and subtraction of this behavior:
Public class manythread { privateint j = 0; Public synchronized void Inc () { J++ ; + "Inc" + J); } Public synchronized void Dec () { J--; + "Dec" + j);} }
And then make the call
Public classMyTest {PrivateManythread Manythread =NewManythread (); Public Static voidMain (string[] args) {MyTest MyTest=NewMyTest (); Mytest.test (); } Public voidTest () { for(inti = 0; I < 2;i++){ NewThread (NewRunnable () {@Override Public voidrun () { for(inti = 0;i < 20;i++) {manythread.inc (); }}). Start (); NewThread (NewRunnable () {@Override Public voidrun () { for(inti = 0;i < 20;i++) {Manythread.dec (); }}). Start (); } }}
4 threads were designed, of which two threads increased by 1 for J each time, while the other two threads reduced by 1 for J at a time. Write the program.