CNDEV
...
...
账号
登
登录
先
先随便看看
中国开发网
: 论坛:
程序员情感CBD
: 贴子 668306
pcplayer
·
2008-08-25 01:33:30
·
阅读: 344
临界区死锁?
<空>
相关信息:
线程中用copy操作字符串,居然会死锁,怎么会这样呢?
(空) (
aho
[320]
2008-08-25 09:30
)
临界区死锁?
(空) (
pcplayer
[343]
2008-08-25 09:33
)
copy个字符串,怎么会扯上竞争呢?
(空) (
aho
[317]
2008-08-25 09:38
)
加没加临界区?
(空) (
pcplayer
[311]
2008-08-25 09:41
)
没有,怎么加呢?相关string是局部变量,只在线程中用呀
(空) (
aho
[319]
2008-08-25 09:42
)
我刚测试了,线程内部使用 copy 没事啊。
(418字)
(
pcplayer
[411]
2008-08-25 09:47
)
Synchronize以后确实没问题,但是为什么要同步呢?
(空) (
aho
[321]
2008-08-25 09:56
)
sync 那里的代码只是显示到 label 里用的。copy 部分我没做任何的同步操作啊。不知道你的 copy 部分还有其它什么操作?
(空) (
pcplayer
[346]
2008-08-25 09:58
)
还有读文件:readln(f, line);
(66字)
(
aho
[456]
2008-08-25 10:04
)
哦,我的例子只跑了一次。我实验多跑几个循环看看
(空) (
pcplayer
[802]
2008-08-25 10:08
)
写了个例子,跑到 380 来,还没死。sleep(500)跑一下。
(空) (
pcplayer
[308]
2008-08-25 10:19
)
日,难道是我RP爆发?
(空) (
aho
[305]
2008-08-25 10:27
)
是你該升級電腦了。
(空) (
sea026
[309]
2008-08-25 10:29
)
跑到 2000 次,我让它停下来了。 我估计是你的被拷贝的字符串的来源和你拷贝的时候没加临界区冲突了。我的被拷贝字符串只在创建的时候改一次。
(71字)
(
pcplayer
[397]
2008-08-25 10:31
)
猴子提醒我是不是因为单步导致IDE死掉,实验了一下猴子这个说法,貌似靠谱。这样看来,和string操作其实是没有关系的
(空) (
aho
[348]
2008-08-25 12:13
)
我没单步走,是直接搞个计数在那显示它跑了多少圈。
(空) (
pcplayer
[322]
2008-08-25 13:03
)
线程也没有独立的内存空间的,尤其是局部变量还是用的runtime的栈
(空) (
pigprince
[488]
2008-08-25 09:58
)
堆肯定是共享的,线程没有独立栈?
(空) (
aho
[540]
2008-08-25 10:07
)
线程有独立的栈空间
(空) (
龙之吻
[393]
2008-08-25 16:19
)
欢迎光临本社区,您还没有登录,不能发贴子。请在
这里登录