开个贴讨论一下多线程开发中的死锁,优化等问题

zhsj64 2006-11-23 11:30:24
听说4核的扣肉(就是酷睿)已经出来了,呵呵,双核的还没来得及玩转呢,四核就蹦出来了...

做单线程开发的看来是越来越没前途了...多核/多线程开发是大趋势了,这个咱就不多废话了...

最近也正在搞一些多线程方面的东西,问题还是蛮多的,比如搞不好就死锁了...郁闷!

还有啊,多线程应用怎么优化啊?有没有什么好的工具啊?

哪位大虾指点指点啊,小弟先谢过了,^-^

欢迎大伙儿都来讨论啊...
...全文
3524 26 打赏 收藏 转发到动态 举报
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
  • 打赏
  • 举报
回复
我的程序从来不出现死锁,想参加讨论都没法。
  • 打赏
  • 举报
回复
我的板子是技嘉的 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一个图表的选项。

请教这是怎么回事?
  • 打赏
  • 举报
回复
我的板子是技嘉的 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)

568

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧