Java线程问题,急急急,在线等,现在有两个类,A和B,都是线程类,他们共同操作一组数据,假如A对 100
Java线程问题,急急急,在线等,现在有两个类,A和B,都是线程类,他们共同操作一组数据,假如A对象5个,B对象5个,在某一时刻,假设有1个对象线程正在操作数据,其他的都...
Java线程问题,急急急,在线等,现在有两个类,A和B,都是线程类,他们共同操作一组数据,假如A对象5个,B对象5个,
在某一时刻,假设有1个对象线程正在操作数据,其他的都在等待,当这个正在执行的线程结束后唤醒所有等待的线程,那下一个执行的线程是谁? 展开
在某一时刻,假设有1个对象线程正在操作数据,其他的都在等待,当这个正在执行的线程结束后唤醒所有等待的线程,那下一个执行的线程是谁? 展开
1个回答
展开全部
不确定是谁
等待线程是放在等待序列里的,而每次执行是从序列里取出第一个(而第一个是谁是不确定的,也就是说,假如执行是A1A2,执行时的调度是不确定执行结果的,也许完结顺序也是A1A2,此时进入等待序列的也是A1A2,但完结顺序也可能是A2A1,此时进入等待序列的就是A2A1了,下次从等待序列里取的顺序跟进来的顺序对应,所以可能是A1A2,也可能是A2A1,问题就是出在多线程的时候,同时开始执行的线程结束的时序跟启动的时序是不保证相同的)
等待线程是放在等待序列里的,而每次执行是从序列里取出第一个(而第一个是谁是不确定的,也就是说,假如执行是A1A2,执行时的调度是不确定执行结果的,也许完结顺序也是A1A2,此时进入等待序列的也是A1A2,但完结顺序也可能是A2A1,此时进入等待序列的就是A2A1了,下次从等待序列里取的顺序跟进来的顺序对应,所以可能是A1A2,也可能是A2A1,问题就是出在多线程的时候,同时开始执行的线程结束的时序跟启动的时序是不保证相同的)
追问
好操蛋,怎么用JAVA写读者写者问题
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |