Вы не можете приостанавливать / отменять при использовании очереди GCD. Если вам нужна эта функциональность (и во многих общих случаях, даже если вы этого не сделаете), вы должны использовать API более высокого уровня - NSOperationQueue
. Это построено поверх GCD, но оно дает вам возможность контролировать, сколько вещей выполняется одновременно, приостанавливать обработку очереди и отменять отдельные / все операции.
Если Вы не хотите изменять свой исходный массив
In [1]: import numpy as np
In [2]: a = np.array([2, 23, 15, 7, 9, 11, 17, 19, 5, 3])
In [3]: b = a * (a <= 10)
In [4]: a
Out[4]: array([ 2, 23, 15, 7, 9, 11, 17, 19, 5, 3])
In [5]: b
Out[5]: array([2, 0, 0, 7, 9, 0, 0, 0, 5, 3])