社区
英特尔边缘计算技术
帖子详情
开个贴讨论一下多线程开发中的死锁,优化等问题
zhsj64
2006-11-23 11:30:24
听说4核的扣肉(就是酷睿)已经出来了,呵呵,双核的还没来得及玩转呢,四核就蹦出来了...
做单线程开发的看来是越来越没前途了...多核/多线程开发是大趋势了,这个咱就不多废话了...
最近也正在搞一些多线程方面的东西,问题还是蛮多的,比如搞不好就死锁了...郁闷!
还有啊,多线程应用怎么优化啊?有没有什么好的工具啊?
哪位大虾指点指点啊,小弟先谢过了,^-^
欢迎大伙儿都来讨论啊...
...全文
3524
26
打赏
收藏
开个贴讨论一下多线程开发中的死锁,优化等问题
听说4核的扣肉(就是酷睿)已经出来了,呵呵,双核的还没来得及玩转呢,四核就蹦出来了... 做单线程开发的看来是越来越没前途了...多核/多线程开发是大趋势了,这个咱就不多废话了... 最近也正在搞一些多线程方面的东西,问题还是蛮多的,比如搞不好就死锁了...郁闷! 还有啊,多线程应用怎么优化啊?有没有什么好的工具啊? 哪位大虾指点指点啊,小弟先谢过了,^-^ 欢迎大伙儿都来讨论啊...
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
26 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
StarCraftPJF
2007-04-20
打赏
举报
回复
学习
shunan
2007-04-20
打赏
举报
回复
mpi就没有用武之地吗
mary1021897
2007-03-28
打赏
举报
回复
希望各位大虾多说点,让我这样的后辈多学习学习
jixingzhong
2007-03-23
打赏
举报
回复
好好看看
reasongt
2007-03-22
打赏
举报
回复
多线程多核完不知又该考虑什么呢
magicalsch
2007-03-22
打赏
举报
回复
收获很大啊,^_^
fancy113
2007-01-15
打赏
举报
回复
如果多线程之间不用任何信号量之类的kernelobject,肯定不会死锁了。
我觉得程序优化方面,提高cache的命中率相当重要。多线程,如果cache的命中率不高,程序还是慢。
还有就是两个线程之间是否关联太大,如果两个线程之间很少出现要等待另外一个线程的恶情况,那么效率就很高了,如果频繁等待,加上线程切换,我想效率也不一定高。这和程序的结构有很大的联系。
icansaymyabc
2007-01-05
打赏
举报
回复
flowstar(研究网络中。。。) 也别说我了。其实我没写过几个多线程程序。
不过这也是中国特色哦。想当年,中国发射了一个卫星,安全回收了,立刻就大肆宣传:中国是目前全世界唯一一个卫星回收率100%的国家。
danscort2000
2007-01-04
打赏
举报
回复
出现死锁,肯定是自己的逻辑太......
要么是自己根本没吃透各种同步和等待的关系......
将死锁和多线程联系起来,应该是饭吃太饱的缘故,楼下的保持队型
flowstar
2006-12-29
打赏
举报
回复
楼上,牛。。。
icansaymyabc
2006-12-26
打赏
举报
回复
我的程序从来不出现死锁,想参加讨论都没法。
pqmgumnq9n09za1kqbpp
2006-12-08
打赏
举报
回复
我的板子是技嘉的 GA-6BXD,PCB 版本号 1.6,BIOS 更新到最新。跳线在 100MHz/5.0X,装上 2 只原装 OEM PIII500 CPU,Solt1 接口,开机能够认到 2 个 CPU,显示
INTEL 440BX CHIPSET
VCORE1=2.00V VCORE2=2.00V
INTEL PENTIUM III-MMX CPU 500MHz , 2 Processor(2)
<CPU2 ID=0636><PATCH ID=0035><CPU1 ID=0636><PATCH ID=0035>
Memory Testing... 1048576KB OK.
但是无论安装 WinNT 4.0 Win2000 Pro/Server WinXP 都不能识别 2 个 CPU,任务管理器只有 1 个,任务管理器的图表菜单中也没有每个CPU一个图表的选项。
请教这是怎么回事?
pqmgumnq9n09za1kqbpp
2006-12-08
打赏
举报
回复
我的板子是技嘉的 GA-6BXD,PCB 版本号 1.6,BIOS 更新到最新。跳线在 100MHz/5.0X,装上 2 只原装 OEM PIII500 CPU,Solt1 接口,开机能够认到 2 个 CPU,显示
INTEL 440BX CHIPSET
VCORE1=2.00V VCORE2=2.00V
INTEL PENTIUM III-MMX CPU 500MHz , 2 Processor(2)
<CPU2 ID=0636><PATCH ID=0035><CPU1 ID=0636><PATCH ID=0035>
Memory Testing... 1048576KB OK.
但是无论安装 WinNT 4.0 Win2000 Pro/Server WinXP 都不能识别 2 个 CPU,任务管理器只有 1 个,任务管理器的图表菜单中也没有每个CPU一个图表的选项。
请教这是怎么回事?
ProgrameMan
2006-12-07
打赏
举报
回复
关注
AngeloYang
2006-12-07
打赏
举报
回复
收获很大啊,^_^
tonnyue
2006-12-06
打赏
举报
回复
这几天也在看多核方面的开发,我感觉OpenMP仅在计算集中、易于并行化的地方应用还可以。当了解了多核计算的基本情况后,发觉某些系统开发还不如自己线程化,主要的目的就是在运行时至少要有不少于核数据量的线程运行(这里没考虑Cache等影响)就可以使多核运行达100%。也许使CPU完全利用是相对容易的事,但
如何控制一个线程仅在单核上运行且仅利用其中的80%计算资源呢?
argenCHN
2006-12-06
打赏
举报
回复
jf up
李世东
2006-11-24
打赏
举报
回复
深有同感,是该向多核/多线程转了...
Simore
2006-11-23
打赏
举报
回复
深有同感,是该向多核/多线程转了...
但是,技术是一方面,开发工具等东西也得跟的上阿
intelask
2006-11-23
打赏
举报
回复
呵呵,因为每段讲的不是一个内容,所以分开发出来,大家看的应该比较明白
加载更多回复(6)
Java.Concurrency.in.Practice.pdf
Java.Concurrency.in.Practice.pdf
Java虚拟机并发编程
高清英文PDF版 《java虚拟机并发编程》是java并发编程领域的里程碑之作,由资深java技术专家、并发编程专家、敏捷
开发
专家和jolt大奖得主撰写,amazon五星级畅销书。它系统深入地讲解在jvm平台上如何利用jdk同步模型、软件事务内存模型和基于角色的并发模型更好地进行并发编程。全书以示例驱动,通俗易懂,包含大量编程技巧、注意事项和最佳实践。要重点强调的是,本书并不仅仅只适合于java语言的并发编程,它还适用于clojure、groovy、jruby和scala等所有运行在jvm平台上的编程语言。 《java虚拟机并发编程》共10章,分为五个部分。第一部分:并发策略,阐释了影响并发性的因素、如何有效实现并发,以及并发的设计方法等;第二部分:现代java/jdk并发,讨论了现代java api的线程安全和效率,以及如何处理已有应用程序
中
的现实
问题
和重构遗留代码时的原则;第三部分:软件事务内存,深入讨论了stm并就如何在各种主要的jvm语言里使用stm给出了指导意见;第四部分:基于角色的并发,详细讲解了如何在基于角色的模型下消除并发
问题
以及如何在自己的首选语言
中
使用角色模型;第五部分:后记,回顾了本书讨论的解决方案并总结了并发编程
中
的注意事项和最佳实践。
java面试100题及答案(免费用)
免费供大家使用,不用再浪费时间积累财富值,以解决您的燃眉之急。免费供大家使用,不用再浪费时间积累财富值,以解决您的燃眉之急。免费供大家使用,不用再浪费时间积累财富值,以解决您的燃眉之急。
【
多线程
】线程安全
问题
本文详细探讨了
多线程
编程
中
的线程安全
问题
及其解决方案。线程安全是指程序在
多线程
环境下能够正确处理共享资源,确保数据的完整性和一致性。线程不安全的原因主要包括线程间的执行方式、多个线程修改同一个变量、操作的非原子性、内存可见性
问题
以及指令重排序
问题
。为了解决线程不安全
问题
,文章介绍了锁机制,通过`synchronized`关键字实现对共享资源的互斥访问,确保同一时间只有一个线程能操作临界区资源。文章还讨论了
死锁
的产生条件及解决方法,如规定加锁顺序、引入计数器等。此外,`volatile`关键字用于解决内存
C#
中
的
多线程
编程:避免竞争条件与
死锁
的最佳实践
竞争条件(Race Condition)发生在多个线程尝试并发访问共享资源时,如果对共享资源的访问没有正确的同步机制,可能会导致不一致的结果或错误的计算。
死锁
(Deadlock)是指两个或更多的线程互相等待对方释放资源,导致它们无法继续执行。
死锁
通常发生在多个线程之间的资源竞争
中
,其
中
每个线程都持有一些资源并等待其他资源。在C#
中
的
多线程
编程
中
,竞争条件和
死锁
是两个常见的
问题
。避免竞争条件使用锁(lockMonitor)来确保对共享资源的互斥访问。使用类进行原子操作,避免锁的开销。使用。
英特尔边缘计算技术
568
社区成员
7,024
社区内容
发帖
与我相关
我的任务
英特尔边缘计算技术
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
复制链接
扫一扫
分享
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章