编程里的多线程和cpu的线程有关系吗
2个回答
展开全部
有,java编写程序调用多线程处理某些程序要比单线程快
追答
编程编软件,软件调用硬件线程
起控制作用
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为单核处理器只能将多个指令流交错执行,并不能真正将它们同时执行,所以,单核 结构上的多线程应用程序的性能就受到了限制。
在单核平台上,多线程一般都被当做是一种能够实现延迟隐藏的有效编程手段。
单核平台上的这种性能瓶颈在多核体系结构中就不存在了。
在多核平台上,各线程根本不需要为了得到某种资源而挂起等待,因为各线程都是在相互独立的执行核上并 行运行的。
例如,假设有两个线程都要执行移位操作,那么,在单核平台上,两个线程需要竞争唯一的移位单元,因而必须顺序执行,而对于双核平台而言,因为存 在两个移位单元,所以两个线程能够并行执行而无须竞争。
多核平台为开发人员提供了一种优化应用程序的渠道,那就是通过仔细分配加载到各线程(或者各处理器核)上的工作负载(也就是实现各线程的负载均衡)就能够得 到性能上的提升。
并且,开发人员也可以对应用程序代码加以优化,使其能够更加充分地使用多个处理器资源,进而达到提升应用程序性能的目的。
在面向多核平台设计多线程应用程序的时候,开发人员必须采取与面向单核平台时不同的设计思想。在单核平台上,为了简化多线程应用程序的编写和调试,开发人 员可能会作一些假设。
但是这些假设可能不适用于多核平台。
对于这两种平台,设计思想的不同之处主要体现在存储缓存(memory caching)和线程优先级(thread priority)两个方面。
在单核平台上,多线程一般都被当做是一种能够实现延迟隐藏的有效编程手段。
单核平台上的这种性能瓶颈在多核体系结构中就不存在了。
在多核平台上,各线程根本不需要为了得到某种资源而挂起等待,因为各线程都是在相互独立的执行核上并 行运行的。
例如,假设有两个线程都要执行移位操作,那么,在单核平台上,两个线程需要竞争唯一的移位单元,因而必须顺序执行,而对于双核平台而言,因为存 在两个移位单元,所以两个线程能够并行执行而无须竞争。
多核平台为开发人员提供了一种优化应用程序的渠道,那就是通过仔细分配加载到各线程(或者各处理器核)上的工作负载(也就是实现各线程的负载均衡)就能够得 到性能上的提升。
并且,开发人员也可以对应用程序代码加以优化,使其能够更加充分地使用多个处理器资源,进而达到提升应用程序性能的目的。
在面向多核平台设计多线程应用程序的时候,开发人员必须采取与面向单核平台时不同的设计思想。在单核平台上,为了简化多线程应用程序的编写和调试,开发人 员可能会作一些假设。
但是这些假设可能不适用于多核平台。
对于这两种平台,设计思想的不同之处主要体现在存储缓存(memory caching)和线程优先级(thread priority)两个方面。
追问
一个线程对应一个核?,一个有八个线程的程序,和四核八线程cpu什么关系
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询