关于一个线程问题的求救

bwe2009 2011-04-05 04:08:31
一个线程60多行,出现问题。然后我在单步调试的时候发现这个线程还没运行完,比如才运行到35行,此时又从第一行开始运行这个线程,也就一个线程有两个副本在同时运行,这样造成了结果的异常。为啥会出现这种情况呢?顺便说下,这个线程是一个死循环线程,也就是一直在运行不结束的线程。
...全文
69 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
madyak 2011-04-09
  • 打赏
  • 举报
回复
是不是多次调用这个方法?
th1:=tlistThread.Create(true);
th1.Resume;
bwe2009 2011-04-09
  • 打赏
  • 举报
回复
原因找到,是自己疏忽了。
sforiz 2011-04-09
  • 打赏
  • 举报
回复
线程同步就行了
sanguomi 2011-04-07
  • 打赏
  • 举报
回复
贴代码吧
haitao 2011-04-06
  • 打赏
  • 举报
回复
才60多行,就都贴出来看看
bwe2009 2011-04-06
  • 打赏
  • 举报
回复
阻塞了就导致线程自动反复自动调用?
bwe2009 2011-04-05
  • 打赏
  • 举报
回复
线程的执行是:
th1:=tlistThread.Create(true);
th1.Resume;

别处再无创建和调用过程了。

程序里有IDHTTP在获取网页内容,会不会它阻塞住等待返回网页内容?
是的,但是阻塞了就导致线程自动反复自动调用?
haitao 2011-04-05
  • 打赏
  • 举报
回复
线程是怎么被创建、执行的?
一次性?唯一?还是反复创建?

程序里有IDHTTP在获取网页内容,会不会它阻塞住等待返回网页内容?
shijies 2011-04-05
  • 打赏
  • 举报
回复
如果这段程序不在线程里运行会怎样?
bwe2009 2011-04-05
  • 打赏
  • 举报
回复
同一个线程,在运行到中途的时候又开始运行自己的一个副本,也就是这个线程有两个副本以不同的步调在运行,这个难道正常?那怎么样才能禁止这种情况?(说明,这个线程里面有IDHTTP在获取网页内容)
bdmh 2011-04-05
  • 打赏
  • 举报
回复
当然了,线程吗,你不知道什么时候cpu让哪个线程执行,所以你调试时就会出现这种情况

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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