如何停止一个线程运行呢? 如何停止一个线程运行呢?很急!我调用线程是sjcl.Create(false);,如何停止呢?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 inst := sjcl.Create(false)if sjcl is TThreadClass then//>>如果没有调用 inst.resume,只是这样创建了线程对象,那你的线程都没有启动线程启动可以用 inst.terminate; 线程终止可以用 inst.terminate; 什么乱七八糟,能详细一点吗?我调用线程是sjcl.Create(false);,如何停止呢?谢谢! sjcl.Suspend //这个是暂停线程的运行,此时线程运行在哪一句,就暂停在哪一句sjcl.terminate //这个是销毁线程,执行后,此线程就不存在了 sjcl.terminate ,但运行通不过啊! sjcl.terminate可销毁线程,但不安全。sjcl是delphi的线程类的话,也可sjcl.free,这样会稍安全。但还是要考虑到free前资源的释放的时差问题。 我的DELPHI怎么这样写都通过不了啊!只有sjcl.Create(false); 不是拽啊,我是才学的,不知道所以急,又要急用,是不是缺少基本单位啊!sjcl.terminate 运行不了! sjcl.Create(false) sjcl应该是一个 TThread类吧(习惯上类都会使用T前缀 如TMyThread)终止运行是用terminate方法但是terminate实际上是改了一个终止标志,即设置terminated为True,线程不一定立即停止运行了所以通常在 线程的执行体 即execute方法中会增加 if not terminated then 判断, 这样的话,一旦调用teminate方法,就能最快的停止运行, 同时可能需要考虑数据丢失的问题(因为中断,未执行一些代码),可以在onTerminate中补充做些事情最终 线程做什么,怎么做 还是很自由的 看你的需求啦,以上只是习惯上的做法另外,对Win32的线程理解 你可以去学学用API做 因为VCL的TThread只是一个包装类 一件外衣,它的核心是一个叫ThreadProc的 Procdure(其中自然 是用Win32的API了)ps: inst := sjcl.Create(false) 线程已经内调了 resume, 之前我说错了 随机触发问题 如何在delphi中使用winsnmp函数 求助 delphi编程 怎样判断窗体是否已经创建 ?看它的哪个属性? 哪儿有delphi的在中文帮助? 请教如何同时插入两个表呀,我是刚学习delphi语言的数据库编程,急死我了!! 谁有全国范围内的商业数据库!俺可以花钱买! 关于ACTIONMANAGER的送分题 事物回滾后﹐界面如何回到事物開始前的界面 条形码生成:128码怎样生成? 类继承的问题! 如何处理一个图标,使其颜色变暗? 请ffwin() 救急地磅称重问题,高分寻ffwin() 的联系方式 包括QQ,Email,等等!
//>>如果没有调用 inst.resume,只是这样创建了线程对象,那你的线程都没有启动
线程启动可以用 inst.terminate;
sjcl是delphi的线程类的话,也可sjcl.free,这样会稍安全。
但还是要考虑到free前资源的释放的时差问题。
只有sjcl.Create(false);