当前位置: 技术问答>linux和unix
linux下 线程的问题。。。
来源: 互联网 发布时间:2017-01-10
本文导语: #include #include #include #define NUM_THREADS 8 char * messages[NUM_THREADS]; struct thread_data { int thread_id; int sum; char *message; }; struct thread_data thread_data_array[NUM_THREADS]; void *printfhello(void *threadarg) { int taskid,sum; char *hello_msg; ...
#include
#include
#include
#define NUM_THREADS 8
char * messages[NUM_THREADS];
struct thread_data
{
int thread_id;
int sum;
char *message;
};
struct thread_data thread_data_array[NUM_THREADS];
void *printfhello(void *threadarg)
{
int taskid,sum;
char *hello_msg;
struct thread_data *my_data;
sleep(1);
my_data = (struct thread_data *) threadarg;
taskid = my_data->thread_id;
sum = my_data->sum;
hello_msg = my_data->message;
printf("Thread %d : %s Sum = %dn",taskid,hello_msg,sum);
pthread_exit(NULL);
}
int main(int argc,char *argv[])
{
pthread_t threads[NUM_THREADS];
int *taskids[NUM_THREADS];
int rc, t, sum;
sum = 0;
messages[0] = "english : hello world!";
messages[1] = "french : bonjour, le monde!";
messages[2] = "spanish : hola al mundo";
messages[3] = "klingon : nup neh!";
messages[4] = "german : guten tag, welt!";
messages[5] = "russian : zdravstvyte, mir!";
messages[6] = "japan : sekai e konnichiwa!";
messages[7] = "latin : orbis, te saluto!";
for(t = 0; t
#include
#include
#define NUM_THREADS 8
char * messages[NUM_THREADS];
struct thread_data
{
int thread_id;
int sum;
char *message;
};
struct thread_data thread_data_array[NUM_THREADS];
void *printfhello(void *threadarg)
{
int taskid,sum;
char *hello_msg;
struct thread_data *my_data;
sleep(1);
my_data = (struct thread_data *) threadarg;
taskid = my_data->thread_id;
sum = my_data->sum;
hello_msg = my_data->message;
printf("Thread %d : %s Sum = %dn",taskid,hello_msg,sum);
pthread_exit(NULL);
}
int main(int argc,char *argv[])
{
pthread_t threads[NUM_THREADS];
int *taskids[NUM_THREADS];
int rc, t, sum;
sum = 0;
messages[0] = "english : hello world!";
messages[1] = "french : bonjour, le monde!";
messages[2] = "spanish : hola al mundo";
messages[3] = "klingon : nup neh!";
messages[4] = "german : guten tag, welt!";
messages[5] = "russian : zdravstvyte, mir!";
messages[6] = "japan : sekai e konnichiwa!";
messages[7] = "latin : orbis, te saluto!";
for(t = 0; t