通用语言执行多线程的效果如何?

时间:2015-01-30 20:56:25

标签: multithreading

在我的CS课中,我们讨论的是线程和进程。我很想知道什么是常见的编程语言(Java,C / C ++,C#,Python)实际上可以实现多线程,如果有的话,那么如何有效他们是如何实现的。

我们在C中展示了一个简单的多线程结构,但它们没有通过运行它或通过前一个测试的收集结果图表来证明其差异。我假设使用多线程的某些语言的增益可以忽略不计

修改

PDizzle指出,效率的提高并不一定取决于语言,而是取决于所讨论的应用程序/软件需要什么,以及它对所述应用程序/软件的实现程度

2 个答案:

答案 0 :(得分:2)

当一个程序创建一个单独的线程进行处理时,这一切都归结为程序调用操作系统来为一个线程请求资源。

每个操作系统都有一个API编程语言可以请求在程序中使用多线程。实现取决于平台。 C ++(now)具有std :: thread,它具有依赖于操作系统的调用。 Java具有实现从虚拟机到操作系统的请求线程的调用的类。

  

我认为使用多线程的某些语言的收益可能会增加   可以忽略不计

不,使用多线程的收益一般可以忽略,具体取决于应用程序要求。我会说,应用程序使用线程来完成任务的重要性 ,而不是担心每种语言必须访问多线程的开销。

答案 1 :(得分:0)

我认为大多数现代语言都可以很好地完成多任务处理。现代是c ++ 11,java,c#,d等。

但是,大多数程序不会因为使用的语言而受益于多任务处理,而是因为多线程算法不能从并行处理中受益。想想排序算法等。