завершение вторичного потока от основного потока (какао)

train_test_split нет в preprocessing, это в model_selection и cross_validation, так что вы имели в виду:

from sklearn.model_selection import train_test_split

Или:

from sklearn.cross_validation import train_test_split
6
задан andi 13 March 2009 в 10:56
поделиться

2 ответа

Я думаю, что самый легкий путь состоит в том, чтобы использовать NSThread's - (пусто) отменяют метод. Вам будет нужна ссылка на поток, который Вы создали, также. Ваш пример кода выглядел бы примерно так, если можно сделать рабочий поток как цикл:

- (IBAction)startWorking:(id)sender {
     myThread = [[NSThread alloc] initWithTarget:self selector:@selector(threadMain:) object:nil];
     [myThread start];
}

- (void)threadMain
{
    while(1)
    {
        // do IO here
        if([[NSThread currentThread] isCancelled])
            break;
    }
}

- (IBAction)stop:(id)sender {
   [myThread cancel];
   [myThread release];
   myThread = nil; 
}

Конечно, это только отменит поток между повторениями цикла. Так, при выполнении некоторого долгого вычисления блокирования необходимо будет найти способ разбить его в части, таким образом, можно периодически проверять isCancelled.

12
ответ дан 8 December 2019 в 17:27
поделиться

Также смотрите на классы NSOperationQueue и NSOperation. Именно другой набор поточной обработки классов делает разработку модели рабочего потока очень легкой сделать.

2
ответ дан 8 December 2019 в 17:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: