BeanShell 的“this”类型引用可以实现标准 Java 中的 java.lang.Runnable 接口。所以你可以在 bsh 对象中定义一个“run()”方法并将它作为一个线程的目标。
示例代码
- foo() {
- run() {
- // do work...
- }
- return this;
- }
- foo = foo();
- // foo.run() 开始两个线程
- new Thread( foo ).start();
- new Thread( foo ).start();
运行效果
BeanShell 内部是线程安全的,所以只要你的脚本没有明确地做任何非线程安全的事(比如存取共享的参数或者对象),你可以写多线程的脚本。
注意:
你可以使用 bg()“background”命令在一个单独的线程里运行一个外部脚本。
转载于:https://blog.51cto.com/tongqiuyan/763222