2013-06-25 87 views
0

它可以安全地用於不同線程的一個功能嗎?或者我必須在這裏使用信號量?它是否可以安全地用於不同線程的一個功能?

static void *func1(void *arg) 
{ 
    ... 
    return NULL; 
} 

int main() 
{ 
    ... 
    pthread_create(&thread, &thread_attr, func1, (void *)data); 
    pthread_create(&thread2, &thread_attr2, func1, (void *)data2); 
    ... 

    return 0; 
} 

謝謝!

回答

0

您可以讓多個線程使用相同的功能。如果該函數使用將在線程之間共享的數據,則只需使用同步(信號量,互斥等)。如果所有數據都在數據和數據2中,則不需要信號量。

相關問題