// 正确用法
var abcObject = thread.var("abc");
var abcTable = abcObject.get();
abcObject.release(); //在所有线程都不再使用该名称的共享变量时,再释放。
//在线程里面的正确用法
var abcObject = thread.var("abc","123");
thread.invokeAndWait(
function(abcObject){
var abc = abcObject.get();
abcObject.set("456");
//abcObject.release(); //不要释放该对象,否则任何线程再次访问都将变为null
},abcObject //给线程传递共享变量对象即可
)
abcObject.release();
//在线程里面的错误用法
var abcObject = thread.var("abc","123");
thread.invokeAndWait(
function(){
var abcObject = thread.var("abc"); //如果不能传递共享变量对象,则声明一个
abcObject.set("456");
abcObject.release(); //错误:但不要释放,否则任何线程再次访问都将变为null
}
)
abcObject.release();
说明:
1、同名的共享变量,只会创建一次,其他的调用,都是“指向”同一个变量,所以并不会增加内存占用。
2、因为 thread.ver 一般情况下,不会声明太多不同的共享变量,所以少量变量对程序内存占用影响不大。
3、本例仅仅说明其正确使用方法。实际影响效果根据不同代码而定。