c语言中的平方和多线程

c语言中的平方和多线程,c,multithreading,square-root,C,Multithreading,Square Root,我正在写一个程序,它使用8个线程将数字从1到10000平方。我已经编写了大部分代码,但我的问题是如何指定哪些线程与哪些数字平方。我也是新的太多线程。澄清: 我使用8个线程将数字从1平方到100000平方,并将它们写入一个文件。打开文件和关闭文件是可以的,但是从每个线程写入每个正方形是这里等式的一部分。这是我第一个使用pthread的程序,所以我假设您需要告诉每个线程按顺序平方的数字 理想情况下,我想要: 线程1:1^2 线程2:2^2 线程3:3^2 等等到10000 在我的主函数中,创建函数并

我正在写一个程序,它使用8个线程将数字从1到10000平方。我已经编写了大部分代码,但我的问题是如何指定哪些线程与哪些数字平方。我也是新的太多线程。澄清:

我使用8个线程将数字从1平方到100000平方,并将它们写入一个文件。打开文件和关闭文件是可以的,但是从每个线程写入每个正方形是这里等式的一部分。这是我第一个使用pthread的程序,所以我假设您需要告诉每个线程按顺序平方的数字

理想情况下,我想要:

线程1:1^2

线程2:2^2

线程3:3^2

等等到10000

在我的主函数中,创建函数并等待线程完成的代码如下:

for (i = 0; i < NUMBER_OF_THREADS; i++) {
    printf("Main here. Creating thread %luu\n", i);
    status = pthread_create(&threads[i], NULL, square_root_integer, (void *) i);
    if (status != 0){
        printf("Error: pthread_create returned error code %0ld\n", status);
        exit (-1);
    }
}

for (i = 0; i < NUMBER_OF_THREADS; i++){
    if (pthread_join(threads[i], NULL)){
        printf("Thread %lu failed to join\n",i);
    }
}
因此,在主函数中,我需要将需要平方的数字传递给“square_integer”函数


任何帮助都将是伟大的,如果你们需要更多的信息让我知道

让线程1计算数字1、1+8、1+16、1+24,…
对于数字2,2+8,2+16,2+24,…,2+8*n,…
对于数字3,3+8,3+16,3+24,…,3+8*n,…
等等


这样,所有的数字都被覆盖,工作在线程之间的分布也相当均匀。

你的标题是“平方根”;一些评论说“正方形”。函数再次显示“平方根”。是哪一个?你还提到了8个线程,还讨论了10000个线程——再说一次,你在忙什么?对不起,伙计们,太晚了,我编辑了这篇文章。我正在将数字打印到一个文件中,这是我已经编写的代码。我用8个线程将数字从1平方到100000平方。这是我第一个使用pthread的程序,所以我假设您需要告诉每个线程按顺序平方的数字。
void *square_integer(void *tid)