代码1:
package jerry;
Runnable run = { println 'run in thread: ' + Thread.currentThread().getId() }
run.run();
println "main thread:" + Thread.currentThread().getId();
// list.each { println it } // or list.each(this.&println)
测试结果:
直接调用Runnable的run方法,其方法体内的代码也在主线程内执行:
代码2:
package jerry;
Runnable run = { println 'run in thread: ' + Thread.currentThread().getId() }
new Thread(run).start();
println "main thread:" + Thread.currentThread().getId();
// list.each { println it } // or list.each(this.&println)
此时Runnable执行体是在新启动的线程内执行了:
要获取更多Jerry的原创文章,请关注公众号"汪子熙":