org.python.core.ThreadStateMapping Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jython-standalone Show documentation
Show all versions of jython-standalone Show documentation
Jython is an implementation of the high-level, dynamic, object-oriented
language Python written in 100% Pure Java, and seamlessly integrated with
the Java platform. It thus allows you to run Python on any Java platform.
package org.python.core;
class ThreadStateMapping {
private static final ThreadLocal cachedThreadState = new ThreadLocal();
public ThreadState getThreadState(PySystemState newSystemState) {
ThreadState ts = cachedThreadState.get();
if (ts != null) {
return ts;
}
Thread t = Thread.currentThread();
if (newSystemState == null) {
Py.writeDebug("threadstate", "no current system state");
if (Py.defaultSystemState == null) {
PySystemState.initialize();
}
newSystemState = Py.defaultSystemState;
}
ts = new ThreadState(t, newSystemState);
cachedThreadState.set(ts);
return ts;
}
}