2012年3月13日 星期二

pthread 基礎-cancel

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

void *test(void *arg)
{
    for(;;)
    {
        printf("123\n");
        sleep(1);
    }
    pthread_exit((void*)"1111");
}

int main(void)
{
    pthread_t  tid;
    void *ret;

    printf("start\n");
    pthread_create(&tid, NULL, test, (void *)(&ret));

    sleep(3);
    pthread_cancel(tid);

    printf("\nmain end\n");
    pthread_exit(0);

}

執行3秒後強迫離開thread, 但無法取得return值 :(

沒有留言:

張貼留言