//启动新线程 该写法影响保证每次执行的m不变,直接传值会变成取到最后的值 System.Threading.Tasks.Task.Factory.StartNew(m => { var i1 = (int)m; //todo });