面试结束,晒3个 Java面试题,请大家讨论。# JobHunting - 待字闺中
s*e
1 楼
这周面试,但是面的不成功。有两个问题不知道怎么答,请大家指教:
1. 如何使用Junit 对 多线程中的Race Condition 作单元测试?
2. 不使用Java的Concurrent包中的类,不能使用额外的存储空间,如果在一个线程遍
历一个List中的元素的同时,另一个线程修改List的元素值。 我知道
CopyOnWriteArrayList是干这个的,但是这个的原理也是Copy这个List,也是使用了额
外的存储空间。
3. 比如使用线程池的的方式产生3个线程,这3个线程是由线程池管理的,如何让这个
三个线程的执行能被排序,比如线程1结束了,线程2 继续,然后是线程3. 注意不是
自己使用implement Runnable 接口产生的线程,所以不能用Join。
1. 如何使用Junit 对 多线程中的Race Condition 作单元测试?
2. 不使用Java的Concurrent包中的类,不能使用额外的存储空间,如果在一个线程遍
历一个List中的元素的同时,另一个线程修改List的元素值。 我知道
CopyOnWriteArrayList是干这个的,但是这个的原理也是Copy这个List,也是使用了额
外的存储空间。
3. 比如使用线程池的的方式产生3个线程,这3个线程是由线程池管理的,如何让这个
三个线程的执行能被排序,比如线程1结束了,线程2 继续,然后是线程3. 注意不是
自己使用implement Runnable 接口产生的线程,所以不能用Join。