Hi,
I am using Ironpython to connect to a legacy python code from C#.
I am not fully familiar with Ironpython, but managed to get it working for a
single-threaded application.
This is how I implemented this:
ScriptEngine engine = Python.CreateEngine();
ScriptRuntime runtime = engine.Runtime;
ScriptScope scope = runtime.CreateScope();
ops = engine.Operations;
ScriptSource source =
engine.CreateScriptSourceFromFile("ironpython.py");
source.Execute(scope);
string class_param = rule;
object[] parameters = new object[1];
parameters[0] = class_param;
object klass = scope.GetVariable("model_checker");
object instance = ops.Invoke(klass, parameters);
method = ops.GetMember(instance, "check_model");
Now I want to make my application multi-threaded, and I want to have
concurrently running scripting engines. Essentially, these engines should
access the same underlying python code, and hence these scripting engines are
identical to each other.
Without any change, the above code works fine for most of the time for a
multi-threaded application. However, there is an exception that appears from
time to time, and I suspect that it is due to a concurrency issue.
Is there anything specific that I should do to generate multiple scripting
engines running in separate threads without interfering with each other?
any ideas greatly appreciated
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com