2016-06-07 7 views
0

Cython 스크립트에서 GIL을 해제하기로 결정한 경우 고려해야 할 사항은 무엇입니까?Cython에서 GIL을 해제 할 때의 위험?

Cython 프로그램에서 GIL을 공개 할 위험이 있습니까?

또한 어떻게 생성 할 스레드 수를 지정합니까?

+1

왜 묻는가? 당신의 유스 케이스는 무엇입니까? 확장 모듈은 무엇을합니까? –

+0

나는 정직하게 호기심이있다 – DolphinGenomePyramids

답변

2

Cython 스크립트에서 GIL을 출시하기로 결정한 경우 고려해야 할 사항은 무엇입니까?

Cython 프로그램에서 GIL을 공개 할 위험이 있습니까?

Python 개체로 흥미로운 작업을 안전하게 수행 할 수 없습니다. 안전하다는 것을 모른 채로 객체 데이터에 접촉하는 작업은 안전하게 수행 할 수 없습니다 (자물쇠가있는 경우도 있음).

https://docs.python.org/2/c-api/init.html#thread-state-and-the-global-interpreter-lock 일부 정보가 제공됩니다.

또한 어떻게 생성 할 스레드 수를 지정합니까?

스레드 만들기는 완전히 별도입니다. threading 모듈을 사용하여이 작업을 수행 할 수도 있고 다른 방법으로 수행 할 수도 있습니다.

+0

나는 통찰력을위한 감사를 본다. C 유형에 대한 엄격한 CPU 바운드 문제에 대해 GIL을 릴리스하는 것을 제한하는 것 같습니다. – DolphinGenomePyramids