Каждый пример, который я нахожу в Интернете (включая Apple doc), устанавливает для себя цель следующим образом:
[NSThread detachNewThreadSelector:@selector(threadedTask) toTarget:self withObject:nil];
Поскольку я хотел бы выполнить более сложную задачу в фоновом режиме (с использованием нескольких методов), я подумал о создании класса Task
, который будет выглядеть так:
Task *task = [[Task alloc] init];
[NSThread detachNewThreadSelector:@selector(main) toTarget:task withObject:nil];
но мне интересно, как будут обрабатываться переменные экземпляра моего класса Task
? в моем методе main
могу ли я безопасно вызывать методы моего класса Task
, используя [self myMethod]
и изменяя переменные-члены, предполагая, что я единственный поток, обращающийся к нему?
Этот способ работы с потоками мне кажется странным, извините, если мой вопрос глупый ^^
Заранее спасибо