读书人

关于多线程的有关问题 就解答。

发布时间: 2013-10-10 14:14:51 作者: rapoo

关于多线程的问题 就解答。。。。。。。。。。。。。。。。。。。。
用4个线程 2个让i++ 另外2个让i-- 打印出来 虽然最终结果是100 (i一开始等于100) 但是中间不明白的是 i=101 i=102...这样一直下去 换个线程打印的时候显示的是i= 差很远的数字。。 也就是说没有接着原来的数字加减。。
下面是代码 本人初识多线程求大神们解答



相差很远么?
可能是如此。
线程A 在打印的时候,正准备打印 i=100;
这个时候,线程B抢去了资源,让A没有打印。于是线程B就连续进行了20次相加。
结果最后打印出i=120;
这个时候,线程A再夺回执行权。
但是他打印的结果,却依然按照100进行打印。
但是如果A属于减的线程,那么下一条应该是打印出119.而不是99.

当然,线程具有一些不确定性,我也不了解,而且你这里有这么多,具体可能出现更加难以理解的情况吧。

读书人网 >J2SE开发

热点推荐