我有一个脚本的一部分,格式如下:
func main() {
for i=0;i<1000000;i++ {
go test()
}
}
func test() {
a := test2()
}
func test2()(var int) {
//a bunch of operations
return var
}
我运行了很多迭代,它总能工作。我想知道是否有两个或更多goroutines同时调用函数“test2()”并导致崩溃的可能性?以下格式是否比前一格式更好?
func main() {
for i=0;i<1000000;i++ {
go test()
}
}
func test() {
test2 := func()(var int){
//a bunch of operations
return var
}
a := test2()
}
非常感谢!
答案 0 :(得分:2)
不,您的功能不会崩溃,除非您的代码出现问题(即除以零)或明确调用$(document).ready(function (){
var table = $('#example').DataTable();
table.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
var data = this.data();
console.log(data);
data[0] = '* ' + data[0];
this.data(data);
});
});
。如果它不访问任何字段(或其文档未指定它们可能同时调用的方法),那么您的函数是thread-safe。