想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。一.对ThreadLocal的理解        ThreadLocal,很多地方叫做线程本地变量
转载 2010-08-30 11:27:00
42阅读
2评论
TThread 线程的例子 D:\Documents\Embarcadero\Studio\14.0\Samples\CPP\RTL\Threads   TThread类   该线程类可以完成大多数的线程操作 TThread类的属性     1.(1)FreeOnTerminate属性        当线程终止时是否自动删除线程对象.默认值为True;  语法:property FreeOnTer
转载 2015-05-04 21:52:00
353阅读
2评论
Linux-Lua高级教学Lua 协同程序什么是协同?Lua 协同程序(coroutine)与线程比较类似:拥有独立的堆栈,独立的局部变量,独立的指令指针,同时又与其它协同程序共享全局变量和其它大部分东西。协同是非常强大的功能,但是用起来也很复杂。线程和协同程序区别线程与协同程序的主要区别在于,一个具有多个线程的程序可以同时运行几个线程,而协同程序却需要彼此协作的运行。在任一指定时刻只有一个协同程
转载 2024-05-11 11:46:21
41阅读
前言JDK 有一个 Deprecated 方法 stop,但是该方法存在一个问题,JDK 官方早已经不推 荐使用,其在后面的版本中有可能会被移除,根据官网的描述,该方法在关闭线程时可能不 会释放掉 monitor 的锁,所以强烈建议不要使用该方法结束线程。正常关闭A. 线程结束生命周期正常结束线程运行结東,完成了自己的使命之后,就会正常退出,如果线程中的任务耗时比较短, 或者时间可控,那么放任它正
著名的斐波那契数列记得上学的时候,我们都会遇到这样一种题目,打印斐波那契数列。斐波那契数列是这样的一个数列:1、1、2、3、5、8、13、21、34…,也就是说第1项和第2项是1,从第3项开始,每一项都等于前2项之和。我们可以使用下面的代码来生成斐波那契数列。//生成斐波那契数列 public int[] fibonacci(int n){ //存放结果的数组 int[] resu
TThread 详解 我们常有工作线程和主线程之分,工作线程负责作一些后台操作,比如接收邮件;主线程负责界面上的一些显示。工作线程的好处在某些时候是不言而喻的,你的主界面可以响应任何操作,而背后的线程却在默默地工作。 VCL中,工作线程执行在Execute方法中,你必须从TThread继承一个类并覆盖Execute方法,在这个方法中,所有代码都是在另一个 线程中执行的,除此之外,你的线程类的其他方
转载 2021-02-25 18:49:07
1218阅读
2评论
Looper; //用作处理一个线程的消息循环。。主线程中,已经有一个Looper对象,只需要通过Handler提交Message即可。 //子线程中,需要创建Looper,有了Loop之后,就可以在本程序中,想这个Looper所在的线程发送消息。启动这个线程的处理。Loop.prepare(). public final class Loop
协同程序Lua 协同程序(coroutine)与线程(这里的线程指的是操作系统的线程)比较类似:拥有独立的堆栈,独立的局部变量,独立的指令指针,同时又与其它协同程序共享全局变量和其它大部分东西。一个多线程程序可以同时运行几个线程(并发执行、抢占),而协程却需要彼此协作地运行,并非真正的多线程,即一个多协程程序在同一时间只能运行一个协程,并且正在执行的协程只会在其显式地要求挂起(suspend)时,
Delphi中的线程类 - TThread详解2011年06月27日 星期一 20:28Delphi中有一个线程TThread是用来实现多线程编程的,这个绝大多数Delphi书藉都有说到,但基本上都是对TThread类的几个成员作一简单介绍,再说明一下Execute的实现和Synchronize的用法就完了。然而这并不是多线程编程的全部,我写此文的目的在于对此作一个补充。线程本质上是进程中一段并
转载 2017-07-24 19:57:00
91阅读
Delphi 多线程介绍,以及线程TThread 分析 Delphi中有一个线程TThread 用来实现多线程编程 TThread类的几个成员作一简单介绍,再说明一下Execute的实现和Synchronize的用法就完了。然而这并不是多线程编程的全部,我写此文的目的在于对此作一个补充。 线程 
转载 2015-03-30 15:37:00
450阅读
2评论
关于 lwIP 多线程的总结:lwIP 内核不是线程安全的。如果在多线程环境中使用 lwIP,必须使用高层次的 Sequential 或 socket API。使用 raw API 时,需要自己保护好应用程序和协议栈核心代码。在无操作系统环境中使用 raw API: 使用轮询接收数据,因为不会在中断中使用 lwIP 函数,不需要任何保护使用中断接收数据,需要定义宏 SYS_LIGHTWEIG
之前学习了用API实现,让我们再学习下用DELPHI的TThread类。 先新建一个普通的工程,再新建一个线程类File>>New>>Othre>>Delphi File>Thread Object,取个名字,DELPHI会自动生成一个单元,我们只需往里简单添加功能代码,和在要使用的单元里实例引用即
转载 2021-01-27 12:36:00
452阅读
2评论
Delphi 判断线程TThread是否释放 //返回值:0-已释放;1-正在运行;2-已终止但未释放; //3-未建立或不存在 function CheckThreadFreed(aThread: TThread): Byte; var i: DWord; IsQuit: Boolean; beg
转载 2020-07-29 15:32:00
409阅读
2评论
新的公司接手的第一份工作就是一个多线程计算的小系统。也幸亏最近对线程有了一些学习,这次一接手就起到了作用。但是在实际的开发过程中还是发现了许多的问题,比如挂起与终止的概念都没有弄明白,导致浪费许多的时间。TThread-简单的开始在Delphi的VCL中封装了一个TThread类用于多线程的开发,这样比较符合面向对象的思想,同时又可以提高开发效率,一般的情况下开发都是通过派生这个类来实现多线程。所
转载 2016-10-14 16:19:00
88阅读
2评论
## 保证线程安全的redis lua脚本 Redis是一个开源的内存数据库,其支持使用Lua脚本来执行一系列操作,这使得Redis在处理复杂逻辑时更加灵活和高效。然而,在多线程环境下,为了保证数据的一致性和线程安全,我们需要特别注意如何编写Lua脚本。本文将介绍如何使用Redis Lua脚本来保证线程安全,并通过示例代码演示。 ### Lua脚本保证线程安全的方法 在Redis中,Lua
原创 2024-05-15 06:46:44
140阅读
thread TThread class TSleepFunc : public TCppInterfacedObject<TProc> { public: TSleepFunc(TForm28* Form) : FForm(Form) { } virtual void __fastcall Invoke(void) { fo
转载 2014-08-26 16:07:00
154阅读
网上查了很多资料,看了很多关于线程TThread的使用,并动手操作,但均未能达到想要的效果。我所要的效果是,线程执行耗时的操作而不影响主程序,用户使用没有卡顿的感觉。知道是使用线程编程解决,后来经过不断的摸索,终于达到想要的效果,而代码也只是二十几行,后面直接调用即可。 type TDBQueryT
转载 2020-08-09 01:37:00
189阅读
2评论
一、Lua和Redis这篇其实和Redis本身的源码关系不是太大了,主要是看一下对REDIS的支持。Lua可能好多人都没有听说过,但是如果搞过网游的人,估计都用过,做为一种胶水语言,Lua对C/C++的支持非常友好,这是一般的脚本语言都没有做到的。它很小很轻量,所以非常容易与其它程序集成。在魔兽和仙剑等游戏中都广泛使用。 Lua的缺点也很明显,对开发支持的力度不大,功能也少,功能少,就意味着如果搞
转载 2023-09-02 21:19:50
154阅读
Delphi中有一个线程TThread是用来实现多线程编程的,这个绝大多数Delphi书藉都有说到,但基本上都是对TThread类的几个成员作一简单介绍,再说明一下Execute的实现和Synchronize的用法就完了。然而这并不是多线程编程的全部,此文的目的在于对此作一个补充。线程本质上是进程...
转载 2014-10-23 20:44:00
239阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5