2012-06-29 3 views
0

python27 runtime이 thread 안전 모드에서 실행되는지 아니면 코드에서 실행되지 않는지 감지하는 방법을 알려주십시오.Google App Engine python27이 스레드 안전 모드를 실행하는지 여부를 확인하는 방법은 무엇입니까?

예를 들어 모듈이 호환되지 않거나 필요한 경우 스레딩 코드를 적용한다는 것을 알리기 위해.

일부 코드는 Python27에 thread safe로, 일부는 thread 안전으로 포팅하고 싶지만 Google App Engine에서 어떻게 작동하는지 이해하지 못합니다.

답변

1

당신이 할 일은 당신의 애플리케이션 제목을 변경하고 앱 스레드에서 실행하는 것입니다

threadsafe: true 
, 이것은 당신이 무언가 당신은 당신의 코드가 스레드가 아닌 경우 통보되지 않습니다

입니다 너 혼자 알아 내야 해. 예를 들어 요청에서 변경하는 전역 변수가있는 경우 문제가있을 수 있습니다. 그러나 일반적으로 그것은 던질 것이고 어떤 것이 든 오류가 아니며, 그것은 일관성이 없으며 나중에 개념을 알지 못하는 경우 문제가 발생할 수 있습니다.

+0

필자는 Python27에서 스레드를 전환하는 방법을 알고 있지만 모든 GAE API가 스레드 안전성이며 전역 변수없이 스레드 설정을 감지해야 할 경우 예를 들어 한계를 이해하지 못한다. 수동 구성에서는 문제가 거의 없다. GAE python/2.5를 GAE python/2.7에 설치하고 싶습니다. – Chameleon

+0

@Chameleon GAE에서 프로그램을 스레드로부터 안전하게하는 방법에 대한 구체적인 문서는 없습니다. 여기에 제가 처음 생각합니다. 코드가 스레드로부터 안전한지 아닌지를 알아내는 것입니다. http : // en. wikipedia.org/wiki/Thread_safety – Lipis

+0

분산 또는 스레드 프로그래밍 경험이 있으므로 위키 기사가 필요하지 않습니다. 너무 쉽습니다. 문제는 스레딩 및 특정 동작에 대한 Google App Engine의 제한입니다. – Chameleon

1

"일부 스레드는 안전하고 일부 스레드는 안전하지 않을"수 없습니다. 불가능합니다. 일부 코드가 스레드 안전하지 않은 경우 코드 없음은 스레드로부터 안전합니다. 이것이 스레드 안전성이 작동하는 방식입니다.

+0

질문에 대답하지 않는 다른 것에 대해 이야기합니다. 당신은 맞습니다 ** 스레드 안전 코드 **는 스레드 안전 코드를 포함 할 수 없지만 ** 스레드 안전 코드는 ** 둘 모두를 포함 할 수 없습니다. GAE는 스레드 안전 안함 또는 스레드 안전 만 허용하며 질문은 어떻게 어떤 모드인지 감지합니다. 제한된 시간 내에 대규모 코드 기반을 스레드 안전성으로 다시 작성하거나 실용적이지 않고 비용이 많이 드는 것은 아닙니다. – Chameleon