我编写了这个简单的多线程程序,将1到100,000之间的数字相加。运行此命令时,最终结果得到的值不同(值小于预期的5000050000)。当我仅使用一个线程执行程序时,它给出了正确的结果。该程序还适用于较小的值,例如100。可能出了什么问题?提前致谢。
class Calculation {
private long total=0;
public void calcSum(long start, long end) {
long i = start;
for( ;i<=end; i++) {
total += i;
}
}
public long getTotal() {
return total;
}
}
class CalculatorThread extends Thread{
private long start;
private long end;
private Calculation calc;
public CalculatorThread(long start, long end, Calculation calc) {
this.start = start;
this.end = end;
this.calc = calc;
}
@Override
public void run() {
calc.calcSum(start, end);
}
}
public class ParallelTest {
public …Run Code Online (Sandbox Code Playgroud) java concurrency multithreading java-memory-model java-threads
在我的 React 应用程序中,我使用 .env 文件来保存一些 API 密钥。但是,当我尝试使用这些值访问这些变量时,process.env似乎是undefined.
我使用以下命令启动应用程序。
yarn build; cd dist; static-server --index ./login/index.html -p 1234
Run Code Online (Sandbox Code Playgroud)
我尝试重新启动服务器,删除 dist 文件夹并重建,但没有成功。
这是我访问变量的地方。在constant.js中
const MY_API_KEY = process.env.REACT_APP_MY_API_KEY;
// some more consts here
module.exports = {MY_API_KEY};
Run Code Online (Sandbox Code Playgroud)
但是,当我console.log(process.env.REACT_APP_MY_API_KEY)在 Constants.js 文件中执行此操作时,它将密钥打印到控制台并MY_API_KEY初始化为正确的值。
这里可能出了什么问题?