小编raf*_*lxy的帖子

Mac OS X中的Pthreads - Mutexes问题

我正在尝试学习如何使用POSIX线程在C中编写并行算法.我的环境是带有gcc 4的Mac OS X 10.5.5.

编译:

gcc -Wall -D_REENTRANT -lpthread source.c -o test.o
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是,如果我在Ubuntu 9.04框中编译它,它按顺序运行顺利,在Mac上看起来像互斥体不起作用,线程不等待获取共享信息.

苹果电脑:

#1
#0
#2
#5
#3
#4
Run Code Online (Sandbox Code Playgroud)

Ubuntu的

#0
#1
#2
#3
#4
#5
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

按照以下源代码:

#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>

#define NUM_THREADS 6
pthread_mutex_t mutexsum;
pthread_t threads[NUM_THREADS];
long Sum;

void *SumThreads(void *threadid){
    int tmp;
    int i,x[10],y[10];

    // Para cada x e y do vetor, jogamos o valor de i, só para meio didáticos
    for (i=0; i<10 ; i++){
        x[i] …
Run Code Online (Sandbox Code Playgroud)

macos mutex pthreads

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

标签 统计

macos ×1

mutex ×1

pthreads ×1