Это рискованный бизнес, и я понимаю, что Global Interpreter Lock - грозный противник параллелизма. Однако, если я использую NumPy's C API (в частности, макрос PyArray_DATA
в массиве NumPy), есть ли потенциальные последствия для его вызова из нескольких параллельных потоков?
Обратите внимание, что я по-прежнему буду владельцем GIL и не буду выпускать его с поддержкой потоковой передачи NumPy . Кроме того, даже если NumPy не дает никаких гарантий в отношении безопасности потоков, но PyArray_DATA
на практике является потокобезопасным, для меня этого достаточно .
Я использую Python 2.6.6 с NumPy 1.3.0 для Linux.