问题描述
List<SyncTableInfo>listTables=GetSyncTables();listTables=listTables.OrderBy(n=>n.Sort).ToList();string[]dataSource=new[]{"etl_scn","etl_aisien","erp-xy"};Thread[]thread=newThread[dataSource.Count()];for(inti=0;i<dataSource.Count();i++){vardataSourceItem=dataSource[i];thread[i]=newThread(obj=>SyncThreadMethod(listTables,dataSourceItem));thread[i].Start();}
解决方案
解决方案二:
需要向线程传参我一般是这样做的:1.新建一个类,在实例化这个类的时候把参数设置进去2.启动线程
解决方案三:
解决方案四:
解决方案五:
你不是写出来了么,用那个obj就可以传了。
解决方案六:
ThreadthreadHand1=newThread(delegate(){threadHand1_Run(timeStart,timeEnd);});threadHand1.Start();
解决方案七:
线程传参要么用Thread.Start(object);传要么用委托传要么把线程封装到类里,用类属性传
解决方案八:
listTables,dataSourceItem静态然后建立一个类类根据listTables,dataSourceItem执行不同的动作
解决方案九:
引用
线程传参要么用Thread.Start(object);传要么用委托传要么把线程封装到类里,用类属性传
解决方案十:
引用8楼nongfuxu的回复:
引用
线程传参要么用Thread.Start(object);传要么用委托传要么把线程封装到类里,用类属性传
用object传比较简单,符合函数使用习惯。封装在类中也是好办法。