[Armedbear-devel] ABCL and RMI

Robert Goldman 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
>> ABCL.
>>
>> 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.

thanks!
r



More information about the armedbear-devel mailing list