我的“看图说话”,欢迎参与!
环境:应用服务器部署一个EJB应用。客户端写一个多线程测试程序,现在启了10个线程,下面的结果是控制台输出的一个片断,各位看官能看出些什么来么?
....
thread3>320 Done.
thread5>320 Done.
thread1>320 Done.
thread6>320 Done.
thread4>320 Done.
thread7>320 Done.
thread9>320 Done.
thread10>320 Done.
thread8>320 Done.
thread2>320 Done.
thread3>321 Done.
thread5>321 Done.
thread1>321 Done.
thread6>321 Done.
thread4>321 Done.
thread7>321 Done.
thread9>321 Done.
thread10>321 Done.
thread8>321 Done.
thread2>321 Done.
thread3>322 Done.
thread5>322 Done.
thread1>322 Done.
thread6>322 Done.
thread4>322 Done.
thread7>322 Done.
thread9>322 Done.
thread10>322 Done.
thread8>322 Done.
thread2>322 Done.
thread3>323 Done.
thread5>323 Done.
thread1>323 Done.
thread6>323 Done.
thread4>323 Done.
thread7>323 Done.
thread9>323 Done.
thread10>323 Done.
thread8>323 Done.
thread2>323 Done.
thread3>324 Done.
thread5>324 Done.
......
我很纳闷,不知道是客户端的问题,还是应用服务器中EJB的问题,为什么不是以下这样的结果呢?
thread3>321 Done.
thread5>324 Done.
thread1>319 Done.
thread6>329 Done.
thread4>323 Done.
thread7>325 Done.
thread9>327 Done.
thread10>320 Done.
thread8>326 Done.
thread2>328 Done.
thread3>322 Done.
thread5>351 Done.
thread1>320 Done.
既然是多线程,结果应该是乱的吧...大家看图说话,想想问题在哪里!