线程【五】VCL下的线程类
在这里把网友常常搞不清楚的属性作用列出来:
一、FreeOnTerminate
用于表明线程执行完毕后是自动释放还是保留,默认为False
二、Terminate
该过程只是简单地设置线程类的Terminated标志,并不是真正的释放,这一点要格外注意!
三、Synchronize
该函数是同步方法,如果线程中有操作UI的语句时,需要把UI操作写成过程(无参数过程),放到该方法中!
//这段代码是要用线程打印1-,输出至Memo1中
TThread1 = class(TThread)
private
FNum: Integer;
procedure AddLines;
protected
procedure Execute; override;
end; procedure TThread1.LinesAdd();
begin
Form1.mmo1.Lines.add(IntToStr(FNum));//把操作UI类写成一个过程,注意,该过程不能有参数,不过可以把参数写成线程类的成员变量
end; procedure TThread1.Execute;
var
i: Integer;
begin
FreeOnTerminate := True;
for i := to do
begin
if Terminated then break;
FNum:= i;
Synchronize(AddLines);//不能有参数
end;
end;
线程【五】VCL下的线程类的更多相关文章
- 容器之List接口下各实现类(Vector,ArrayList 和LinkedList)的线程安全问题
		
Vector .ArrayList 和LinkedList都是List接口下的实现类,但是他们之间的区别和联系是什么呢? 首先: 然后: 如果您仅仅想知道结论,那么可以关闭了. 下面我讨论讨论为什么. ...
 - C#线程系列讲座(2):Thread类的应用
		
一.Thread类的基本用法 通过System.Threading.Thread类可以开始新的线程,并在线程堆栈中运行静态或实例方法.可以通过Thread类的的构造方法传递一个无参数,并且不返回值(返 ...
 - {Python之线程}    一 背景知识     二 线程与进程的关系     三 线程的特点     四 线程的实际应用场景     五 内存中的线程     六 用户级线程和内核级线程(了解)     七 python与线程     八 Threading模块     九 锁     十 信号量     十一 事件Event     十二 条件Condition(了解)     十三 定时器
		
Python之线程 线程 本节目录 一 背景知识 二 线程与进程的关系 三 线程的特点 四 线程的实际应用场景 五 内存中的线程 六 用户级线程和内核级线程(了解) 七 python与线程 八 Thr ...
 - java之线程(线程的创建方式、java中的Thread类、线程的同步、线程的生命周期、线程之间的通信)
		
CPU:10核 主频100MHz 1核 主频 3GHz 那么哪一个CPU比较好呢? CPU核不是越多越好吗?并不一定.主频用于衡量GPU处理速度的快慢,举个例子10头牛运送货物快还是1架飞机运 ...
 - Netty 源码解析(五): Netty 的线程池分析
		
今天是猿灯塔“365篇原创计划”第五篇. 接下来的时间灯塔君持续更新Netty系列一共九篇 Netty 源码解析(一): 开始 Netty 源码解析(二): Netty 的 Channel Netty ...
 - Java多线程编程(6)--线程间通信(下)
		
因为本文的内容大部分是以生产者/消费者模式来进行讲解和举例的,所以在开始学习本文介绍的几种线程间的通信方式之前,我们先来熟悉一下生产者/消费者模式. 在实际的软件开发过程中,经常会碰到如下场景 ...
 - CLR线程概览(下)
		
作者:施懿民链接:https://zhuanlan.zhihu.com/p/20866017来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 同步: 托管代码 托管代码可 ...
 - java多线程系类:JUC线程池:04之线程池原理(三)(转)
		
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3509960.html 本章介绍线程池的生命周期.在"Java多线程系列--"基础篇& ...
 - java多线程系类:JUC线程池:02之线程池原理(一)
		
在上一章"Java多线程系列--"JUC线程池"01之 线程池架构"中,我们了解了线程池的架构.线程池的实现类是ThreadPoolExecutor类.本章,我 ...
 
随机推荐
- Spring 消息
			
RMI.Hessian/Burlap的远程调用机制是同步的.当客户端调用远程方法时,客户端必须等到远程方法完成之后,才能继续执行.即使远程方法不向客户端返回任何消息,客户端也要被阻塞知道服务完成. 消 ...
 - Jquery的deferred对象,看这2篇牛人的文章,基本就够了。
			
http://blog.csdn.net/ligang2585116/article/details/51589073 http://www.ruanyifeng.com/blog/2011/08/a ...
 - Java单链表简单实现* @version 1.0
			
package com.list; /** * 数据结构与算法Java表示 * @version 1.0 * @author 小明 * */ public class MyLinkedList { p ...
 - word2vec原理推导与代码分析
			
https://github.com/hankcs/HanLP/wiki/word2vec http://www.hankcs.com/nlp/word2vec.html Hanlp word2vec ...
 - HDU2023:求平均成绩
			
Problem Description 假设一个班有n(n<=50)个学生,每人考m(m<=5)门课,求每个学生的平均成绩和每门课的平均成绩,并输出各科成绩均大于等于平均成绩的学生数量. ...
 - Java异常处理的方法
			
1.异常概述在程序中,错误可能产生于程序员没有预料到的各种情况,或者是超出了程序员可控制范围的环境因素,如用户的坏数据.试图打开一个根本不存在的文件等.在Java中这种在程序运行是可能出现的一些错误称 ...
 - Prism for WPF
			
Prism for WPF Prism for WPF初探(构建简单的模块化开发框架) 先简单的介绍一下Prism框架,引用微软官方的解释: Prism provides guidance to ...
 - Elasticsearch Docker环境下安装
			
Elasticsearch Docker环境下安装 Daemon镜像配置的是https://registry.docker-cn.com Linux:vi /etc/docker/daemon.jso ...
 - Windows server 2008 R2 安装指引
			
1.虚拟机实验安装win server 2008 R2 企业版, 安装环境: 虚拟机版本:VM 14 本地系统:win 7 64 位 专业版 打开VM14,新建虚拟机,选择自定义高级(此处也可以选择典 ...
 - SVN :Unable to connect to a repository at URL
			
编程之路刚刚开始,错误难免,希望大家能够指出. 单位换地方了,SVN的服务器和本机不在一个网段,原先的SVN文件夹进行“SVN Update”的时候报错了,如下: 网上一查,原来是DNS域名解析错误 ...