如何用多线程来处理一个问题?

发布网友 发布时间:2022-04-20 04:05

我来回答

3个回答

热心网友 时间:2023-09-11 11:48

  两个线程使用一个变量,如果第一个线程修改了该变量,第二个线程再使用,就会出问题了,这种情况被称为竞争,操作系统会提供临界区、旋转锁、互斥量、信号量等对象对多个线程竞争的资源进行保护,确保该资源在某一时间只有一个线程对它进行操作。

热心网友 时间:2023-09-11 11:48

每个线程只完成一个数的累积和,(用线程的参数来传递指定的数),不要把数组里面的所有数都进行计算。
你可以传给线程的时候,除了传递输入输出数组以外,再传递一个index。线程中只处理这个index位置上的数就可以了。

热心网友 时间:2023-09-11 11:49

main方法中不需要在循环了,在run中,已经处理过了,直接启动线程即可。

int[] inPut={5,4,2,0,1};
int[] outPut={0,0,0,0,0};
ThreadArray t=new ThreadArray(input,output);
t.start();
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com