测试中遇到的问题:接口内部能否实现多线程,并实现Mutex?

hillt 2007-10-19 06:23:24
我们有一个LogAgent.dll的文件,他提供了一个接口 int WriteLog(char * devName,int currentLogLevel,int globalLogLevel,char * log)。
我们BOSS给我的指示是,写一个程序压这个LogAgent,测试是否会有出现丢失日记的可能。这是全部信息。

按他的解释,我理解为,在程序中通过多线程,每个线程都调用这个接口写日志,看是否会出现没有成功记录日志的可能。我们BOSS说着个函数内部有Mutex机制,防止线程之间抢占资源。

我比较笨,我对多线程的理解很浅。我认为既然在多线程中调用这个函数,那么线程互斥自然是在程序中实现的,可是按照他的意思理解,这个接口中他已经实现了多线程。有点儿烦恼,希望哪位大侠能给与指点。
万分感谢!
...全文
142 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hillt 2007-10-26
  • 打赏
  • 举报
回复
写完了,_beginthread()开启线程调用这个接口,其他什么都没做,好像也没发生什么不对的问题……

谢谢几位前辈的指点,非常感谢。
张琪Samuel 2007-10-20
  • 打赏
  • 举报
回复
我觉得这位boss的意思是:这个接口函数是thread safe的,并且用mutex实现的,可以被多线程调用。这种实现是完全可能的,在函数内部处理好写文件时候的资源竞争关系就可以了。
Hunter8212 2007-10-20
  • 打赏
  • 举报
回复
同意楼上们的观点
WriteLog这种接口函数,没道理会在接口内部实现多线程嘛
函数内部应该是有Mutex的,防止被多个线程同时调用
楼主试试看就一切都明白了
cnvb 2007-10-19
  • 打赏
  • 举报
回复
应该是楼主理解错了吧...
你BOSS只是说接口内部实现了Mutex但并不能说明该接口内部就已经是多线程了啊?Mutex在这里的作用可能只是防止被同时调用吧...
如果按这么理解其实也不难了.你只要多创建几个线程去调用那个接口不就OK了??
如果不知道怎么创建多线程看一下MSDN的例子就可以了....
ckt 2007-10-19
  • 打赏
  • 举报
回复
接口内部能否实现多线程,并实现Mutex
-----
可以


你就按他的要求开几个线程调用就是了
然后看结果是否正确

多个线程同时调用该接口,要等当前使用该接口的线程返回后,其他线程才能调用该接口

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧