我做这个创建2个线程具有相同的线程ID:pthreads:如果我使用相同的线程ID创建线程,会发生什么情况?
pthread_t pt;
int rc1, rc2, t1, t2;
t1 = 0;
t2 = 1;
rc1 = pthread_create(&pt, NULL, func(), (void*)&t1);
rc2 = pthread_create(&pt, NULL, func(), (void*)&t2);
func()
只是打印传递的参数
我发现些什么是输出可以是任何的0
然后1
或1
然后0
。这里真的发生了什么?无论如何,这种情况与使用两个pthread_t
值不同吗?
使用两个'pthread_t'对象的区别在于,在这种情况下,您无法使用第一个线程进行连接。 – EOF