多线程的缺点有哪些?
这些应用程序一般比较复杂,因为程序员必须提供线程同步以保证线程不会并发的请求相同的资源,因而导致竞争情况的发生 请采纳我的答案。

服务器多CPU我想购买一台服务器,请问是单CPU性能优为佳还是多
多线程是为了让各个任务都有执行机会,而不是提供一个任务的执行效率,因为单cpu 同一时点只能运行一个线程,如果把一个任务拆成多线程运行,还增加了线程调度的性能损耗。
就这两年内,你都快找不到单核的机器了。
多线程cpu有什么好处
线程不是越多越好,线程切换也是要开销的,当增加一个线程的时候,增加的额外开销要小于该线程能够消除的阻塞时间,这才叫物有所值。
Linux自从2.6内核开始,就会把不同的线程交给不同的核心去处理。Windows也从NT.4.0开始支持这一特性。
使用多线程要分四种情况讨论:
a.多核CPU——计算密集型任务。此时要尽量使用多线程,可以提高任务执行效率,例如加密解密,数据压缩解压缩(视频、音频、普通数据),否则只能使一个核心满载,而其他核心闲置。
b.单核CPU——计算密集型任务。此时的任务已经把CPU资源100%消耗了,就没必要也不可能使用多线程来提高计算效率了;相反,如果要做人机交互,最好还是要用多线程,避免用户没法对计算机进行操作。
c.单核CPU——IO密集型任务,使用多线程还是为了人机交互方便,
d.多核CPU——IO密集型任务,这就更不用说了,跟单核时候原因一样。随着操作系统越来越臃肿复杂、应用软件越来越强大复杂,对CPU运算能力的要求必定越来越高。早年的单核(单线程)CPU,即使主频再高也是无法有效应对的,更何况受制程工艺限制,CPU的主频无法无节制的提升,十年前的CPU最高主频和现在主流CPU的主频相比,相差不是很大,就说明了问题。
多线程(多核心)CPU可以将庞大复杂的预算任务分解成多个,交由不同的核心(线程)并行处理,这样大大减轻了每个线程的运算负担,提升了运算效率。
就好比一个瓦匠师傅砌墙速度再快,他自己一个人砌墙的效率也是不如八个水平一般的师傅同时砌墙的总速度。多线程是为了使得多个线程并行的工作以完成多项任务,以提高系统的效率。线程是在同一时间需要完成多项任务的时候被实现的。
在多任务的环境下,比如游戏多开,或者同时运行较多的软件和大型设计类软件等情况下,可以加快速度,但是需要软件支持多线程。多线程处理能力强,通俗一点就是处理多个任务的时候不卡,不慢

多线程处理器的多线程是什么意思,还有到底是主频主要还是核心数重要啊
可以这么理解:多线程,是说这个人,可以同时干很多事,例如可以左手做数学题,右手做语文题。而现在几乎所有处理器都支持多线程,这不是一个新技术了。主频越高,处理器的性能越好。就比如说有的人做题快,有的人就做题慢。做题快的人,肯定脑子转得快。核心就像是人的两个左右脑。比如你生活的时候,有的负责听觉器官,有的负责嗅觉器官,有的负责思考。电脑的核心就是讲本来单个的CPU核心,融合到一个cpu上。重要性只能相对来说。如果核心多,而每个主频却特别小,而某些软件只能支持单核心,或者两核心。那这时候,这个软件就会运行的不流畅。简而言之,多核虽然好,但是要建立在每个核心主频够高的情况下,多核才有意义。同时多线程Simultaneous multithreading,简称SMT。SMT可通过复制处理器上的结构状态,让同一个处理器上的多个线程同步执行并共享处理器的执行资源,可最大限度地实现宽发射、乱序的超标量处理,提高处理器运算部件的利用率,缓和由于数据相关或Cache未命中带来的访问内存延时。当没有多个线程可用时,SMT处理器几乎和传统的宽发射超标量处理器一样。SMT最具吸引力的是只需小规模改变处理器核心的设计,几乎不用增加额外的成本就可以显著地提升效能。多线程技术则可以为高速的运算核心准备更多的待处理数据,减少运算核心的闲置时间。这对于桌面低端系统来说无疑十分具有吸引力。Intel从3.06GHz Pentium 4开始,所有处理器都将支持SMT技术。








