I wouldn't be hard to spawn threads from lisp with the help of some external module.
here is a multithreaded sample with Bricscad and .NET 4
[LispFunction("pfunc")]
public static ResultBuffer pfunc(ResultBuffer args)
{
var stv = new SynchronizedCollection<TypedValue>();
var rb = new ResultBuffer();
Parallel.For(0,Convert.ToInt32 (args[0].Value) , X =>
{
stv.Add(new TypedValue((short)LispDataType.Int32, foo(X)));
});
foreach (TypedValue v in stv)
rb.Add(v);
return rb;
}
static int foo(double r)
{
Thread.Sleep(1500);
return Thread.CurrentThread.ManagedThreadId; ;
}