Видимо, стек потока:)

Все о программировании под *nix
BunGle
Заглянувший
Сообщения: 1
Зарегистрирован: 29 ноя 2005, 22:30

Видимо, стек потока:)

Сообщение BunGle »

Такой вопрос:
Есть ф-ия потока, например следующая:

Код: Выделить всё

void Thread_func(void* param) {
    int var = ...
}
И эта ф-ия используется разными потоками с различным параметром
param.
Как сделать, чтобы для каждого потока локальная переменная var была различна?

Аватара пользователя
myst
Маньяк
Сообщения: 190
Зарегистрирован: 04 окт 2005, 15:46
Откуда: не возвращаются

Сообщение myst »

А лучше передать в структуре.

Код: Выделить всё

struct my_struct {
  int i;
  ...
};

...

struct my_struct s1 = {
  1,
  ...
};

struct my_struct s2 = {
  2,
  ...
};

...

pthread_create(..., &s1);
pthread_create(..., &s2);

...

void *
thread_func(void *arg)
{
  struct *my_struct = arg;
  int my_int = my_struct->i;
  ...
}

Иными вечерами я пью, чтобы кого-нибудь не пристрелить. Это акт благотворительности. Не за что.

Ответить