线程中的多个键

时间:2013-04-05 18:22:57

标签: c pthreads key posix ftok

对于我的程序,当客户端加入由服务器创建的MQ时,服务器启动一个线程,并且该线程将创建一个私有MQ,只有一个特定客户端具有该密钥。

当我创建一个密钥时,因为它将是众多密钥中的一个,它是否必须具有特殊名称?或者我可以在致电ftok()时使用同一个吗?

示例代码:

void *thread_function(void *arg){
        key_t keyT;
    int temp;
    temp = i;
    struct my_msgbuf bufT;
    keyT=ftok("server.c", 'B'); //create key for client[temp]
    if ((client[temp].mqID=msgget(keyT, 0666 | IPC_CREAT))==-1){ //private mq for client[temp]
        perror("msgget");
    }
}

或者我必须为key_t制作一个数组,每个线程都有一个不同的键?

keyT=ftok("server.c", 'B');是否在您使用时创建相同的密钥?

0 个答案:

没有答案