c - 我如何将值发送到线程而不是引用

标签 c pthreads

<分区>

我正在用 C 语言创建一个线程,但它传递的是引用而不是值。

  for (i=0; i<num_thread; i++){
  pthread_create(&thread[i], NULL, mou_oponent,(void *)&i);
}

int mou_oponent(void* ind) //THIS IS THE HEADER OF THE FUNCTION

我需要的是值而不是引用,因为我在线程中获取了 i 的值,但它被更改了,因为 for 递增了它。

最佳答案

int mou_oponent(void* ind) 中,您应该通过其他变量复制到其他内存,然后处理其他变量而不是 ind。 希望对你有帮助

关于c - 我如何将值发送到线程而不是引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29767670/

相关文章:

c - C中的线程创建

c - 段错误: 11 in a program of multithread in C using pthread library

c - 我如何在 C 中的字符指针上应用 << 运算符和++ 运算符

c - 阈值后删除总和

C动态数组;无法删除

c++ - libuv线程安全吗?

c - #符号在C中是什么意思?

c - UDP Socket 广播和 ifaddrstruct

c - 被 pthread_cond_signal() 唤醒但失去对互斥锁竞争的线程会发生什么

php - 检测按顺序完成的线程