比如创建一个线程有下面这样两种方式
begin TMyThread.Create; end;
和
var myTestThread: TMyThread; begin myTestThread:= MyThread.Create; end;
第一种方式就是创建了一个线程,这个线程去执行,但是你却没有这个线程对象的指针,所以你不能去控制它,只能任由它去执行,如果能自己结束还好,但是如果是一个循环执行的线程,那么就可能在那里永远执行下去,因为你在创建它的时候,没有记录这个线程对象的指针,所以你就没办法去控制它
第二种方式就是创建了一个线程,但是你记住了这个线程对象的指针,那么你就可以在必要上的时候通过这个指针来控制它
同理很多的类创建对象都是这样的,第一种就相当于放飞了的鸟,你再也控制不了它了,而第二种就像是你在放风筝,那条线一直在你的手里
时间: 2024-11-11 01:50:23