本帖最后由 a3330682 于 2014-4-27 21:23 编辑
- public class NumberManager {
- private int lastNumber = 0;
- private List queueNumbers = new ArrayList();
-
- public synchronized Integer generateNewNumber(){
- queueNumbers.add(++lastNumber);
- return lastNumber;
- }
-
- public synchronized Integer fetchNumber(){
- if(queueNumbers.size()>0){
- return (Integer)queueNumbers.remove(0);
- }else{
- return null;
- }
- }
- }
复制代码 张老师说这里两个线程处理同理个数据需要同步;这里只是一个往集合里添加元素一个移除元素,貌似不会产生异常啊?还有就是是不是只要是不同线程处理相同数据就一定要线程同步啊?
|