您的位置:首页 > 其它

NDK-JNI-pthread_kill结束线程

2014-06-06 11:42 447 查看


#include <pthread.h>

#include <stdio.h>

#include <stdlib.h>

#include <signal.h>

#include <unistd.h>

#include <sys/types.h>

#include <errno.h>

pthread_t pid;

void handle_quit(int signo)

{

printf("in qq handle sig %d \n", signo);

pthread_exit(NULL);

}

void* test(void *arg)

{

signal(SIGQUIT,handle_quit );

for(int i=0;i<100;i++)

{

printf("in pthread test \n");

sleep(1);

}

}

int main(void)

{

printf("begin \n");

pthread_create(&pid, NULL , test, NULL);

sleep(3);

if(pthread_kill(pid, 0)!= ESRCH)

{

printf("thread %d exists!\n", pid);

pthread_kill(pid, SIGQUIT);

// pthread_exit(NULL);//this won't work

printf("after kill\n");

}

sleep(1);

printf("exit in main\n");

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: