小编Cri*_*hel的帖子

为什么Java程序的执行要比C中的相同程序花费更多的时间?

因此,我有2个程序执行相同的操作,一个用C编写,另一个用Java编写。它们都创建50个线程,并等待所有线程完成,然后终止。

为了了解两个程序之间的时间差,我在Linux中使用了“ time”命令来获取执行时间。

对于C程序,总执行时间为0.020秒,而Java版本花费了0.663秒来完成。

我曾尝试寻找答案,但发现的所有文章(如 两篇文章)都说Java实际上比C快,我认为这是胡说八道,因此,如果有人可以为我澄清一下,我将不胜感激。 。

谢谢。

这就是C代码的样子。

#include<stdio.h>
#include<pthread.h>
#include<unistd.h>
#define N 50

void* tproc(void *arg) {
    printf("Thread %d\n", *((int *) arg));
    return NULL;
}

int main(int argc, char * argv[]) {
    int i;
    int targ[N];
    pthread_t tid[N];
    for(i = 0; i < N; i++) {
    targ[i] = i;
        if(pthread_create(&(tid[i]), NULL, &tproc, &targ[i]) != 0) {
            printf("Can't create thread %d\n", i);
            return 1;
        }
    }
    for(i = 0; i < N; i++) {
        if(pthread_join(tid[i], NULL) != …
Run Code Online (Sandbox Code Playgroud)

c java

-2
推荐指数
1
解决办法
138
查看次数

标签 统计

c ×1

java ×1