不同线程同时调用abs或sin等函数时会发生冲突吗?

dkbrain 2009-06-15 10:23:47
不同线程同时调用abs或sin等函数时会发生冲突吗?如果会发生冲突,又该如何解决呢?
...全文
30 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
dkbrain 2009-06-15
  • 打赏
  • 举报
回复
那CCriticalSection(临界区)对象呢?
在同一时刻只允许一个线程访问资源或代码段。
如果我有两个线程同时调用一个函数,在这个函数内部设置了临界区对象,如果一个线程成功调用了这个函数,那在这个线程完成这个函数调用后,另外一个线程还会接着调用这个函数吗?
还是两个线程只能有一个调用成功,另外一个线程就放弃调用此函数呢?
初学者,可能问的问题有点弱智。
w29468 2009-06-15
  • 打赏
  • 举报
回复
不冲突,VC编译链接选项中注意选择使用多线程库或多线程调试库
会思考的草 2009-06-15
  • 打赏
  • 举报
回复
CRT库选择多线程版本就可以了
codecola 2009-06-15
  • 打赏
  • 举报
回复
应该是线程安全和可重入的吧
fengrx 2009-06-15
  • 打赏
  • 举报
回复
不会吧,没听说过这个也会冲突。
dkbrain 2009-06-15
  • 打赏
  • 举报
回复
谢谢各位,结贴给分。
w29468 2009-06-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dkbrain 的回复:]
还是两个线程只能有一个调用成功,另外一个线程就放弃调用此函数呢?
[/Quote]

有两个函数,可以让另一个线程阻塞直至另一个线程退出,也可以让线程得不到控制权时直接返回。
会思考的草 2009-06-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dkbrain 的回复:]
那CCriticalSection(临界区)对象呢?
在同一时刻只允许一个线程访问资源或代码段。
如果我有两个线程同时调用一个函数,在这个函数内部设置了临界区对象,如果一个线程成功调用了这个函数,那在这个线程完成这个函数调用后,另外一个线程还会接着调用这个函数吗?
还是两个线程只能有一个调用成功,另外一个线程就放弃调用此函数呢?
初学者,可能问的问题有点弱智。
[/Quote]
跟火车上的厕所一样,假设你内急要去上厕所,发现唯一的一个坑被占了,你会等待人家释放坑这个资源然后你去占用,还是放弃上厕所继续憋着?

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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