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”命令在一個單獨的線程裏運行一個外部腳本。