Thanks Vibhu!  However, although related, I don't see how your answer answered my question.  (Or, perhaps it does but I don't get it.)

I'm not really asking about how Java threads work or the fact that all Java programs (including ABCL) work with threads (although they may not be thread-safe).  I already understand that.

I'm asking:

A. If I can accomplish what I desire using the regular Java and ABCL APIs.

B. How?

Thanks!

Blake


On Thu, Sep 19, 2024 at 8:04 AM Vibhu Mohindra <vibhu.mohindra@gmail.com> wrote:
Yes, ABCL threads are Java threads underneath.

Store the per-thread data in a java.lang.ThreadLocal variable, then it will
be garbage collected when the thread ends.
(If Thread A may want to access Thread B's per-thread data, then that'll
need more thought.)

The bordeaux-threads library's MAKE-LOCK creates a Java ReentrantLock.
Follow the usual rules for portably and correctly accessing data from
multiple threads.
https://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html

Vibhu