#include
#include
#include
#define THREAD_NUM 10
int thread_num = THREAD_NUM;
pthread_t thread_tab[THREAD_NUM];
void* run(void* arg)
{
int i;
pthread_t self;
printf("ble\\n");
self = pthread_self();
for (i = 0; i < THREAD_NUM; i++)
if (thread_tab[i] && !pthread_equal(self, thread_tab[i]))
pthread_cancel(thread_tab[i]);
return NULL;
}
int main(void)
{
int i;
for (i = 0; i < THREAD_NUM; i++){
thread_tab[i] = 0;
}
for (i = 0; i < THREAD_NUM; i++){
pthread_create(&thread_tab[i], NULL, run, NULL);
sleep(1);
}
for (i = 0; i < THREAD_NUM; i++){
pthread_join(thread_tab[i], NULL);
sleep(1);
}
return 0;
}