题目如下:
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。
如果每个线程执行的代码相同 ,可以使用同一个runnable对象,这样在不同的线程中只需要把这个runnable对象传到里面去即可,因为runnable对象的run方法天热原子性,不可能run方法被打断,一个run方法执行完后可能会切换到另一个线程的run方法 ,所以可以实现线程同步,例如买票程序火车票这样的程序可以这样设计
这是卖票程序的例子
接下来说如果要实现的线程代码不同,比如上面的题目 有的要加有的要减,这个时候我们需要有两个runnable对象,在run方法里面对同一个对象执行不同的操作 如下
如上所示 我们的数据对象只有一个data1,但是我们的runnable对象有两个,操作同一个对象,一个对它加一个对它减