能否多线程同时读取多个文件?

例如1号线程读取文件一,同时2号线程读取文件二... 例如1号线程读取文件一,同时2号线程读取文件二 展开
 我来答
默美男子
推荐于2018-05-10 · 知道合伙人数码行家
默美男子
知道合伙人数码行家
采纳数:684 获赞数:44146
国家励志奖学金

向TA提问 私信TA
展开全部
参考如下:
using System.threading;
Metux m=new Metux();

//假设你的操作XML文件的方法为UpdateXml
void UpdataXml()
{
m.WaitOne(); //当一个线程正在使用该方法的时候,锁定该方法,使其他线程处于等待状态
//...对XML的操作
m.ReleaseMetux(); //使用完了,释放锁,让其他线程继续使用
}
[code=C#]
帐号已注销
2014-08-19 · TA获得超过3954个赞
知道大有可为答主
回答量:1636
采纳率:77%
帮助的人:1238万
展开全部
如果是每个线程读取各自的文件,那么就是完全可以的。但是读取同一个文件的话就需要同步机制了。不过实际的执行过程是很复杂的,不一定是两个线程同时读取。

boost这种库是跨平台的第三方库,可能具体的实现不是真正的多线程。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
joychen_
2014-08-19 · TA获得超过1747个赞
知道大有可为答主
回答量:1617
采纳率:100%
帮助的人:1833万
展开全部
这个毫无问题啊.
更多追问追答
追问
用boost多线程编程时,程序执行后一直阻塞,在读取文件时加锁,程序才能执行
追答
是否有其它进程或线程同时在访问同一个文件?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
清水栞
2014-08-19 · TA获得超过1547个赞
知道小有建树答主
回答量:1538
采纳率:50%
帮助的人:984万
展开全部
当然可以。。。。。。。。。。。
追问
只是我用boost多线程编程时,程序执行后一直阻塞,在读取文件时加锁,程序才能执行
追答
boost不熟,但是读文件的原理都是一样的。
如果你一个线程只读一个文件,而一个文件在同一时间只被一个线程读的话,应该不会出现阻塞,或者看看boost相关文档,是否有些没注意的地方
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式