[Armedbear-devel] ABCL and RMI
rpgoldman at sift.net
Fri Nov 28 20:24:07 UTC 2014
Mark Evenson wrote:
>> On 25 Nov 2014, at 23:41, Robert Goldman <rpgoldman at sift.net> wrote:
>> At the expense of following up on my own thread.....
>> I have Java code that is calling Lisp according to some of the examples
>> I have read.
>> I make a single Interpreter object, then I look up a function as defined in
>> I store these both on the java object that calls the ABCL function.
>> Then multiple times I call <function>.execute() and catch the result.
>> Could I inadvertently be creating a lot of LispThreads, causing my system
>> to eventually slow down and lock up?
> Every call to Function.execute() will run in the invoking thread, so unless the
> invoked call path explicitly spawns a new thread, there should only be as many
> threads present as you are invoking. LispThread is essentially a wrapper
> around a JVM thread that maintains a multi-threaded consistent view of the
> singleton Lisp environment as that JVM thread executes Lisp code.
> As for “catch the result”: do you just mean act on the return value, or are
> you using a Java catch clause?
I just mean take the return value and act on it.
> Any chance you can put the source up publicly for me to have a shot at running it?
I probably could, but I don't know that you'd thank me. PRISM is
already huge, and with an idiosyncratic build process. Then adding ABCL
to the mix makes a real gonkulator.
I'll have a quick whack at using Eclipse to profile first, and will
report back. If the oddity persists (and isn't just a weirdness of
jvisualvm), I'll package up stuff so that you can see it.
More information about the armedbear-devel