首页 新闻 会员 周边

耗时函数 多线程 调用 问题?

0
悬赏园豆:50 [已解决问题] 解决于 2014-07-23 15:16

假如 这个函数的作用发送一个网络请求,这个请求可能会耗时几秒的时间。对于这个函数 的多线程并发调用时如何进行的?

我的知道的是。运行时,这个函数编译为cpu指令后存在内存的某个位置。多个线程调用的都是这同一份cup指令。

问题是,当第一个线程调用了函数后,当第二个线程来调用时,函数还没执行完,第二线程会怎么处理?是会排队等第一个线程调用结束再调用吗?
还是 每个线程会 复制一份这个函数的副本 在自己的线程栈里调用?

查到的资料都是关于 公用变量 线程修改删除安全问题。没有我上述提到的问题?或者还是 我的问题根本不存在?

求解答。

问题补充:

难道多线程 对同一份指令的调用 不存在 占用问题吗?

摇啊摇啊摇的主页 摇啊摇啊摇 | 菜鸟二级 | 园豆:408
提问于:2014-07-16 14:58
< >
分享
最佳答案
0

没有做同步的话,第二个线程不会等待,看起来就像根本不知道有第一个线程存在一样。

代码只有一份,不会有副本。

收获园豆:50
Launcher | 高人七级 |园豆:45045 | 2014-07-16 15:00

为什么会出现你所说的情形。过程是如何的呢?
多线程 对同一份指令的调用 不存在 占用问题吗?

一些公用性质的函数 不光线程,进程间也是公用的。实际情况中 是会经常并发的,但是我不太明白其中的执行过程。
如果你有 相关资料的链接 或者 书名,麻烦 告诉我,我再学习学习。

非常感谢

摇啊摇啊摇 | 园豆:408 (菜鸟二级) | 2014-07-16 17:05
Launcher | 园豆:45045 (高人七级) | 2014-07-16 17:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册