1
#include <stdio.h>
#include <pthread.h>
#include <stdlib.h>
#include <string.h>
char a[]="Hello";
void * thread_body(void * param) {
while(1)
printf("%s\n", param);
}
int main(int argc, char *argv[]) {
pthread_t threadHello;
int code;
pthread_create(&threadHello, NULL, thread_body, a);
pthread_cancel(threadHello);
pthread_exit(0);
}
當我在Solaris 10(SunOS 5.10)下編譯並運行它時,它不會停止。但是在Linux下它按預期工作。pthread_cancel不能在solaris下工作
'pthread_cancel()'返回什麼值? – hmjd
你有[閱讀手冊](http://www.kernel.org/doc/man-pages/online/pages/man3/pthread_cancel.3.html)並檢查了取消狀態和目標線程的類型嗎? –
@hmjd它是零 –