Delphi7_VCL线程的使用(一)
1、TThread类的属性
(1)FreeOnTerminate属性
该属性用于指定当前的线程终止时是否自动删除线程对象。默认值为true。
语法:
1 Property FreeOnTerminate:Boolen;
(2)priority属性
该属性用设置线程的优先级,线程的优先级是对同一进程的其他优先级而言的。
语法:
1 Property priority:TThreadPriority;
指定线程的优先级为低,代码如下:
1 var
2 SecondProcess:TMyThread;
3 begin
4 SecondProcess:= TMyThread.Create(True);
5 SecondProcess.Proroty:= tpLower;
6 SecondProcess.Resumer;;
7 end
(3)Return Value属性
当线程终止时,用该属性为其他线程传递一个返回值
语法:
1 Property ReturnValue:Integer;
(4)Suspended属性
该属性用于指明线程是否处于挂起状态
语法:
1 Property Suspended:Boolean;
(5)Terminated属性
在线程运行时,如果将该属性设置为True,则应将线程终止;
语法:
1 Property Terminated:Boolean;
当线程未终止时执行循环,代码如下:
1 while(not Terminated) and (ClientSocket1.Active)do
2 begin
3 try
4 GetNextRequest(buffer);
5 TheStream.Write(buffer,Length(buffer) + 1);
6 except
7 if not(ExceptObject is EAbort) then
8 Synchronize(Handle ThreadException);
9 end;
10 end;
(6)ThreadID属性
线程的ID。线程的唯一标识
语法:
1 Property ThreadID:Thandle;
(7)Handle属性
线程的句柄。
语法:
1 Property Handle:Thandle;
2021-07-26
Delphi7_VCL线程的使用(一)的更多相关文章
- [ 高并发]Java高并发编程系列第二篇--线程同步
高并发,听起来高大上的一个词汇,在身处于互联网潮的社会大趋势下,高并发赋予了更多的传奇色彩.首先,我们可以看到很多招聘中,会提到有高并发项目者优先.高并发,意味着,你的前雇主,有很大的业务层面的需求, ...
- [高并发]Java高并发编程系列开山篇--线程实现
Java是最早开始有并发的语言之一,再过去传统多任务的模式下,人们发现很难解决一些更为复杂的问题,这个时候我们就有了并发. 引用 多线程比多任务更加有挑战.多线程是在同一个程序内部并行执行,因此会对相 ...
- 多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)
前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...
- Java 线程
线程:线程是进程的组成部分,一个进程可以拥有多个线程,而一个线程必须拥有一个父进程.线程可以拥有自己的堆栈,自己的程序计数器和自己的局部变量,但不能拥有系统资源.它与父进程的其他线程共享该进程的所有资 ...
- C++实现线程安全的单例模式
在某些应用环境下面,一个类只允许有一个实例,这就是著名的单例模式.单例模式分为懒汉模式,跟饿汉模式两种. 首先给出饿汉模式的实现 template <class T> class sing ...
- 记一次tomcat线程创建异常调优:unable to create new native thread
测试在进行一次性能测试的时候发现并发300个请求时出现了下面的异常: HTTP Status 500 - Handler processing failed; nested exception is ...
- Android线程管理之ThreadLocal理解及应用场景
前言: 最近在学习总结Android的动画效果,当学到Android属性动画的时候大致看了下源代码,里面的AnimationHandler存取使用了ThreadLocal,激起了我很大的好奇心以及兴趣 ...
- C#多线程之线程池篇3
在上一篇C#多线程之线程池篇2中,我们主要学习了线程池和并行度以及如何实现取消选项的相关知识.在这一篇中,我们主要学习如何使用等待句柄和超时.使用计时器和使用BackgroundWorker组件的相关 ...
- C#多线程之线程池篇2
在上一篇C#多线程之线程池篇1中,我们主要学习了如何在线程池中调用委托以及如何在线程池中执行异步操作,在这篇中,我们将学习线程池和并行度.实现取消选项的相关知识. 三.线程池和并行度 在这一小节中,我 ...
- C#多线程之线程池篇1
在C#多线程之线程池篇中,我们将学习多线程访问共享资源的一些通用的技术,我们将学习到以下知识点: 在线程池中调用委托 在线程池中执行异步操作 线程池和并行度 实现取消选项 使用等待句柄和超时 使用计时 ...
随机推荐
- mysql 创建函数失败解决办法,版本 8.0.26
报错信息:[Err] 1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declarat ...
- OS复盘
OS复盘 OS课设已经结课一段时间了,我也从其他课程中抽身出来,有了一段能够好好反思的时光. 说实话,完成OS课设的过程是很痛苦的,指导书蜻蜓点水.注释模棱两可.各种函数和文件调用杂乱无章.每次在完成 ...
- Linux内核红黑树2—移植笔记
转自:https://www.cnblogs.com/hellokitty2/p/15362596.html 另外可参考:https://zhuanlan.zhihu.com/p/26599934 一 ...
- 26 docker 安装 solr
准备一台已经安装过docker的服务器 获得solr镜像 #可以指定版本 docker pull solr:7.5.0docker pull solr:7.7.3 创建数据挂载文件夹 允许访问权限 s ...
- 【转载】Adobe Acrobat XI Pro闪退原因及解决办法
https://www.cnblogs.com/zohoo/p/12704689.html https://www.cnblogs.com/zohoo/p/12704689.html
- (0821) git 下拉code不稳
(1)红帽粘贴 vncconfig & (2)csh不稳定 解决办法: bash eval "$(ssh-agent -s)" ssh-add git pull 或者 g ...
- go 的 wire 依赖注入
首先安装 wire 工具 go install github.com/google/wire/cmd/wire@latest go 文件 package main import ( "fmt ...
- webrtc 问题记录
参考:https://webrtc.org.cn/mirror/ 设置代理那里必须设置代理再同步 1.上一篇博文, git clone 失败 报错:fatal: unable to access,se ...
- 如何从相机拍照建立的Fileprovider中获取绝对路径
我们通过高版本获取的fileprovider,然后拍了个照片,如下 imageUri = FileProvider.getUriForFile 但是我们发现当我们 File file = new Fi ...
- Vulnhub 靶场 CORROSION: 2
Vulnhub 靶场 CORROSION: 2 前期准备 下载地址:https://www.vulnhub.com/entry/corrosion-2,745/ 靶机地址:192.168.147.19 ...