BeanShell 的“this”类型引用可以实现标准 Java 中的 java.lang.Runnable 接口。所以你可以在 bsh 对象中定义一个“run()”方法并将它作为一个线程的目标。

示例代码

 
  
  1. foo() { 
  2.   run() { 
  3.     // do work... 
  4.   } 
  5.   return this; 
  6. foo = foo(); 
  7. // foo.run() 开始两个线程 
  8. new Thread( foo ).start(); 
  9. new Thread( foo ).start(); 

运行效果

BeanShell 内部是线程安全的,所以只要你的脚本没有明确地做任何非线程安全的事(比如存取共享的参数或者对象),你可以写多线程的脚本。

注意:
你可以使用 bg()“background”命令在一个单独的线程里运行一个外部脚本。