社区
网络及通讯开发
帖子详情
TServerSocket线程安全的问题
panxiang
2006-06-28 04:51:49
如果使用stNonBlocking方式,是否就可以完全不考虑线程同步的问题?
ServerSocket1ClientDisconnect,ServerSocket1ClientRead这些事件控件内部是否以消息的方式执行的?ServerSocket1ClientRead事件执行过程中有没有可能被其它的事件打断?
...全文
403
4
打赏
收藏
TServerSocket线程安全的问题
如果使用stNonBlocking方式,是否就可以完全不考虑线程同步的问题? ServerSocket1ClientDisconnect,ServerSocket1ClientRead这些事件控件内部是否以消息的方式执行的?ServerSocket1ClientRead事件执行过程中有没有可能被其它的事件打断?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
我不懂电脑
2006-07-10
打赏
举报
回复
stNonBlocking方式,可以不考虑线程同步的问题
僵哥
2006-07-03
打赏
举报
回复
使用stNonBlocking模式,通常也称select消息模式,那个主要需要考虑的并不是线程问题,而是消息。而在接收过程当中,本人所碰到过的是不能使用Appliation->ProcessMessage之类的,否则接会出现数据接收不完全的问题。
僵哥
2006-07-03
打赏
举报
回复
BCB封装的类都是成熟的类.了解些基本使用,协调好就不会出现问题.
---------------------------
BCB很多封装类都是为了快速开发而使用的,很多该算是鸡肋,包括TServerSocket,当然2006当中的TCPServer也好不到哪去。因为这些都没有相关的详细的说明文档,除非懂Delphi可一遍Source,否则还不知道是咋回事情。比如象TCPServer,Accept事件当中,你必须一直等使用完再返回,否则如果你想另外启动一个线程去做相关的事情,而当场结束OnAccept事件代码,那么,那个Accept的Socket就会被清理掉。另外就是在很多与线程相关的东西当中,尽可能避免与VCL的交互或对VCL的操作,否则即使不出现线程死锁(使用了线程同步)那么也会在效率上大打折扣。关于线程,Thread.pas(好象是这个文件中),当中关于线程的代码也可以参考一下。其实很多Delphi的Source还是很有用的,它可以让你从某一种编程的角度去处理一些相关UI等的问题,但是毕竟IDE的重点是IDE,除了一些基础的类库之外的一些扩展类,往往只是为了应付着能用的态度开发出来的,毕竟很多方面都有着鱼和熊掌难以兼得的问题,所以也不需要太过强求。如果有必要则可以考虑自己动手去构建。
Alaylm
2006-07-02
打赏
举报
回复
BCB封装的类都是成熟的类.了解些基本使用,协调好就不会出现问题.
Delphi之T
ServerSocket
和TClientSocket多线程传输
多线程传输是解决并发
问题
的关键。在Delphi中,我们可以使用TThread类来创建自定义线程,每个线程负责处理一个特定的客户端连接。例如,在服务器端,当T
ServerSocket
的OnAccept事件触发时,可以创建一个新的TThread...
使用多线程的T
ServerSocket
演示
例如,如果应用有共享资源,如日志文件或数据库连接,需要使用锁或其他同步机制来确保
线程安全
。 6. **通信协议**:定义客户端和服务器之间的通信协议,可能是基于TCP/IP的自定义协议,包括消息格式、数据编码等。 ...
t
serversocket
多线程实例
3. **
线程安全
**:由于多个线程可能会同时访问相同的资源(如共享变量、数据库连接等),必须确保
线程安全
。使用 `CriticalSection`、`Mutex` 或 `TMonitor` 这样的同步原语来避免竞态条件。 4. **通信逻辑**:在新...
解决python线程卡死的
问题
### 解决Python线程卡死的
问题
在进行Python开发的过程中,可能会遇到程序突然无响应的情况,这往往是由线程卡死引起的。线程卡死不仅会导致程序无法继续执行,还可能引发一系列连锁反应,比如资源泄露、服务中断等...
socket多线程 简单的socket应用
4. 错误处理和资源释放:在多线程环境下,需要注意同步
问题
,避免数据竞争。当线程完成任务或者遇到错误时,要正确关闭Socket并结束线程。 5. 使用适当的同步机制:例如,可以使用TMonitor、TCriticalSection或...
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章