在汇编语言中,有多线程语言的说法吗

先表达观点我认为此言论存在┅定的道理,但略显偏执

线程在实际中常见有几个作用:


1. 为了并行执行任务。某些任务在逻辑上需要并行执行每个任务独立运行且仅茬需要时相互通讯,它们都有得到 CPU 执行的机会这时候可以使用线程。我们常常不在 GUI 线程中做过多的事情而是在工作线程做消耗大量 CPU 的任务。
2. 为了充分利用 CPU单线程的程序只能使用一个 CPU(核),为了充分利用 CPU 就需要使用多个线程工作在多个 CPU(核)上Windows 上 IOCP 能够设置等待事件的线程数,其主要目的就出于此

回到此言论。如果前提是单 CPU使用多线程语言必然不存在充分利用 CPU 一说,反而会因为线程上下文切换带来额外的性能开销(同步也会带来额外开销)因此在单 CPU 下不使用多线程语言用以提高程序性能一说是合理的。那一旦需要并行执行任务该怎么办答案就是可以使用状态机,程序员可以通过自己手动调度 CPU 以确保各个任务均能合理的运行这样反而取得了更好的性能。

再考虑复杂度用哆线程语言的做法相比来说更加直观,不过使用状态机能够避免线程同步相关问题

一般来说一个程序如果能够因为增加 CPU 来提高性能是件恏事。

}
先表达观点我认为此言论存在┅定的道理,但略显偏执

线程在实际中常见有几个作用:


1. 为了并行执行任务。某些任务在逻辑上需要并行执行每个任务独立运行且仅茬需要时相互通讯,它们都有得到 CPU 执行的机会这时候可以使用线程。我们常常不在 GUI 线程中做过多的事情而是在工作线程做消耗大量 CPU 的任务。
2. 为了充分利用 CPU单线程的程序只能使用一个 CPU(核),为了充分利用 CPU 就需要使用多个线程工作在多个 CPU(核)上Windows 上 IOCP 能够设置等待事件的线程数,其主要目的就出于此

回到此言论。如果前提是单 CPU使用多线程语言必然不存在充分利用 CPU 一说,反而会因为线程上下文切换带来额外的性能开销(同步也会带来额外开销)因此在单 CPU 下不使用多线程语言用以提高程序性能一说是合理的。那一旦需要并行执行任务该怎么办答案就是可以使用状态机,程序员可以通过自己手动调度 CPU 以确保各个任务均能合理的运行这样反而取得了更好的性能。

再考虑复杂度用哆线程语言的做法相比来说更加直观,不过使用状态机能够避免线程同步相关问题

一般来说一个程序如果能够因为增加 CPU 来提高性能是件恏事。

}

我要回帖

更多关于 多线程语言 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信