咸鱼4s 2022-03-24 10:20 采纳率: 0%
浏览 11

想要试一下条件竞争的具体表现,然后在编译时出现了错误

问题遇到的现象和发生背景

想要试一下条件竞争的具体表现,然后在编译时出现了错误

问题相关代码

#include <pthread.h>
#include <stdio.h>

int counter;
void *IncreaseCounter(void *args) {
  counter += 1;
  sleep(0.1);
  printf("Thread %d has counter value %d\n", (unsigned int)pthread_self(),
         counter);
}

int main() {
  pthread_t p[10];
  for (int i = 0; i < 10; ++i) {
    pthread_create(&p[i], NULL, IncreaseCounter, NULL);
  }
  for (int i = 0; i < 10; ++i) {
    pthread_join(p[i], NULL);
  }
  return 0;
}


运行结果及报错内容

img

  • 写回答

1条回答 默认 最新

  • 赵4老师 2022-03-24 11:44
    关注

    usleep

    评论

报告相同问题?

问题事件

  • 创建了问题 3月24日