入门级的线程问题 (50分)

B

Borinp

Unregistered / Unconfirmed
GUEST, unregistred user!
很多书多线程例子里,都会在线程的EXECUTE方法中包含REPEAT/UNTIL循环。
是不是EXECUTE方法中必须是一个循环结构?
什么情况下不用循环?
 
不是一定要循环结构的,只是看你在多线程中要实现的是什么,要做的事是什么,
有需要的就用,反正就是在 EXECUTE方法中 写一段程序
 
人家用循环是为了延时,或者有大量的数据处理,因为在进程中如果用循环的话,一般来
说,程序会在执行循环体这段时间对用户的其它操作失去反就,而线程则不会。所以程序员喜欢把循环体放在
线程中。。。。
 
不一定要用循环,但线程一般都用于后台运算/传输数据什么的,所以
用循环的线程非常普遍。
 
不用循环,写个方法,然后synchronize
 
循环当然不是为了延时
线程在Excute 执行完后,就自动释放了,而很多时候用多线程需要它一直存在,多次执行,直到程序结束,显然如果没有循环,在执行一次就结束了,下次用的时候得再创建一个,
 
关键是你还没有碰到需要线程的情况,所以理解上就有些疑惑了,当你用到的时候
你就会理解,慢慢来,边学边用,边用边学,这样最有效果
 
老大,用循环是因为编程的人要让你看到书上的例子,要让你看清楚一些事情。所以
用循环运行的时间长,你才有时间来看明白用不用多线程编程的区别啦!!
呵。要不然,你怎么看清楚呢?
 
当你把REPEAT/UNTIL循环放在Button中处理后,就会明白它为什么出现在Thread中
 
首先你要理解线程的概念,为什么我们要创建线程,那么线程的运行机制又是什么。
明白了这个,你就可以理解这个问题了。
其实很简单,当线程要执行一个临时工作的时候,那么就不用做循环。
而当线程需要一个永久性工作的时候,那么就需要进行循环了。
 
线程体中的循环体是因为需要线程反复执行相似的工作,诸如把一批数据写入数据库中,也就是
说你的工作需要它反复的话就让线程活长点吧,要不你让它做一次工作就不必这个循环体了,
smao的话不错!一般线程都是需要运行很长时间的,就想你的计算机启动的那些服务一样,
它们也是线程,在你启动计算机开始,就一直不停的运行着,直到你关机,之所以有这些服务
线程,你才可以上网等干什么的,不然你得亲自要解析域名、网址等东东了,那样的话,我看
你不用上网了:)
 
受益非浅,继续洗耳恭听。
先谢了发言的各位。
 
这个问题差不多了,其实可以结了!
如果你还想知道一些关于线程的东东,,换个题吧:)?
 
循环当然不是为了延时
线程在Excute 执行完后,就自动释放了,而很多时候用多线程需要它一直存在,多次执行,直到程序结束,显然如果没有循环,在执行一次就结束了,下次用的时候得再创建一个,
 
这个可不一定。excute执行完了,有很多东西有可能没有释放掉。TThread本身是不太安全得。
建议还是在Destroy中手动释放。
 
谢谢大家
 
顶部