Multithreading 使用多线程向查询添加元素

Multithreading 使用多线程向查询添加元素,multithreading,Multithreading,假设您正在运行模拟,并且每个模拟都将结果写入output.txt文件。我想使用多线程运行数千个模拟,尽管我使用了锁定和解锁,但当多个线程同时访问文件时,我仍然会出错 为了解决这个问题,我将把结果文本添加到存储它们的查询中。也就是说,每个线程将向该查询添加结果,而不是将其写入output.txt文件。最后,我将从查询中获取存储的文本并写入output.txt 我的问题是:每当多个线程向查询中添加这样的项时,您是否认为最终可能会发生错误,比如缺少模拟?我之所以提出这个问题,是因为无论何时通过多线程增

假设您正在运行模拟,并且每个模拟都将结果写入output.txt文件。我想使用多线程运行数千个模拟,尽管我使用了锁定和解锁,但当多个线程同时访问文件时,我仍然会出错

为了解决这个问题,我将把结果文本添加到存储它们的查询中。也就是说,每个线程将向该查询添加结果,而不是将其写入output.txt文件。最后,我将从查询中获取存储的文本并写入output.txt


我的问题是:每当多个线程向查询中添加这样的项时,您是否认为最终可能会发生错误,比如缺少模拟?我之所以提出这个问题,是因为无论何时通过多线程增加单个值,如果不小心的话,该值都不会像您希望的那样增加。(也就是说,在多线程for循环中,将+1添加到先前声明的int a中1000次;然后最后,a将不会是1000(ofc这可以通过其他方式防止))

您使用的是什么语言?你所谓的“查询”究竟是什么意思?一般地考虑问题,这就是为什么我没有标记任何编程语言,我不希望代码作为答案。查询可以是一些数据结构存储字符串。