Dmitry Kabak (userdimaImplemented some tests3968fd713 years agoHistory
61 lines · 1.5 KB · Java
RawDownload
 import static utils.Utils.*; public class ThreadTest {     private static class Integer {        private int data;         Integer(int data) {            this.data = data;        }         int getData() {            return data;        }         void setData(int data) {            this.data = data;        }     }     public static void main(String[] args) throws InterruptedException {        final Integer var = new Integer(0);        Thread testThread = new Thread(new Runnable() {            @Override            public void run() {                var.setData(42);            }        });        testThread.start();        testThread.join();        assertEquals(42, var.getData());         Thread testThread1 = new Thread(new Runnable() {            @Override            public void run() {                for (int i = 0; i < 2000; i++) {                    synchronized (var) {                        var.setData(var.getData() + 1);                    }                }            }        });        Thread testThread2 = new Thread(new Runnable() {            @Override            public void run() {                for (int i = 0; i < 1000; i++) {                    synchronized (var) {                        var.setData(var.getData() - 1);                    }                }            }        });        testThread1.start();        testThread2.start();        testThread1.join();        testThread2.join();        assertEquals(1042, var.getData());    }}