社区
Delphi
帖子详情
多线程的奇怪问题
lzcq
2000-08-18 08:44:00
各位大侠,我在编写多线程程序时,发现如果程序线程中函数的调用
层次比较多时,调试程序时发现程序执行的顺序没有按照编写的顺序,
而是感觉是在乱跳
我猜想可能是因为启动一个线程开辟的资源可能是有限的
代码太多,函数调用的层次过多时,导致资源(可能是堆栈的空间)等不够用
因此造成程序执行的混乱
上面只是我的猜想,不知具体是什么原因,恳请大侠指点迷津
另外要深入搞懂多线程的问题,可以参看什么样的参考书,再次谢了
...全文
148
4
打赏
收藏
多线程的奇怪问题
各位大侠,我在编写多线程程序时,发现如果程序线程中函数的调用 层次比较多时,调试程序时发现程序执行的顺序没有按照编写的顺序, 而是感觉是在乱跳 我猜想可能是因为启动一个线程开辟的资源可能是有限的 代码太多,函数调用的层次过多时,导致资源(可能是堆栈的空间)等不够用 因此造成程序执行的混乱 上面只是我的猜想,不知具体是什么原因,恳请大侠指点迷津 另外要深入搞懂多线程的问题,可以参看什么样的参考书,再次谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
JGTM2000
2000-08-24
打赏
举报
回复
乱跳?不对吗?多线程代码在执行的时候不就是这样吗?
tchaikov
2000-08-21
打赏
举报
回复
去掉编译优化看看
project->options->compiler->optimization
alin
2000-08-21
打赏
举报
回复
线程调试是比较繁的,WIN系统是以事件为触发的,多个线程调试更是如此,你最好一个线程一个线程地调试,不要在调试一个线程的同时调试另一个线程;同时每个线程间最好没有太多的内存间的数据交换,这与资源没什么关系(如果是资源调度问题,WINDOW就不用去卖钱了)
LittleStar
2000-08-21
打赏
举报
回复
可以学习Delphi中带的SDK。写一个SDK的多线程,学一下线程互斥、同步的问题即可。
Python3中的单线程带进度条和
多线程
下载文件代码及注意事项
批量爬虫下载时,单线程下载文件有时慢有时快。写一个
多线程
分块下载文件工具。网上的一些代码可能会有些
奇怪
的
问题
,用的是类全局变量打开文件但在
多线程
中并未加锁,会导致文件有一定几率出现大小和源文件不同,即使文件大小相同,MD5值也不同,中间有一段是坏的,在图片和音频中可能只是其中一段损坏,exe,rar之类的就直接打不开了。此代码已调试无错直接可以拿来使用。代码备注很完整,也可做学习研究使用。 同时附上单线程下载(带进度条显示功能)代码,单线程下载(带进度条显示)和
多线程
代码的时间比较,实测
多线程
能有效提升下载效率,效果还是比较不错的。
java并发之内存模型.docx
在并发编程中,需要处理两个关键
问题
:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。在共享内存的并发模型里,线程之间共享程序的公共状态,通过写- 读内存中的公共状态进行隐式通信。在消息传递的并发模型里,线程之间没有公共状态,线程之间必须通过发送消息来显式进行通信。Java的并发采用的是共享内存模型,Java线程之间的通信总是隐式进行,整个通信过程对程序员完全透明。如果编写
多线程
程序的Java程序员不理解隐式进行的线程之间通信的工作机制,很可能会遇到各种
奇怪
的内存可见性
问题
。
Java线程同步机制_动力节点Java学院整理
在之前,已经学习到了线程的创建和状态控制,但是每个线程之间几乎都没有什么太大的联系。可是有的时候,可能存在多个线程多同一个数据进行操作,这样,可能就会引用各种
奇怪
的
问题
。现在就来学习
多线程
对数据访问的控制吧
Python
多线程
详解
现代计算机CPU物理核心普遍比较多,我们在编写程序时经常会用到
多线程
技术来提高程序运行的效率。作为python萌新,我在掌握基本语法后就很想摆弄一下python的
多线程
,使用起来确实很有python的特点,代码量少、操作方便。之后断断续续写了一些
多线程
程序,直到今天下午逛论坛,看到很多人说python
多线程
机制的一些内情,我才意识到自己有多愚蠢哈哈。我把自己学到的内容系统的整理一下,以备后忘,也帮帮后来者。
为什么
多线程
会带来性能
问题
?
什么是性能
问题
对于
多线程
而言,它不仅可能会带来线程安全
问题
,还有可能会带来性能
问题
,也许你会
奇怪
,我们使用
多线程
的最大目的不就是为了提高性能吗?让多个线程同时工作,加快程序运行速度,为什么反而会带来性能
问题
呢?这是因为单线程程序是独立工作的,不需要与其他线程进行交互,但
多线程
之间则需要调度以及合作,调度与合作就会带来性能开销从而产生性能
问题
其实性能
问题
有许多的表现形式,比如服务器的响应慢、吞吐量低、内存占用过多就属于性能
问题
。我们设计优秀的系统架构、购置更多的 CDN 服务器、购买更大的带宽等都是为
Delphi
5,392
社区成员
262,732
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章