//线程里
lock(this)
{
//访问集合
}
lock(this)
{
//访问集合
}
解决方案 »
- 怎么设计:方法根据参数决定返回一个对象还是多个对象
- 想将整篇文章加密存入数据库,然后解密显示到winform里,用什么算法?
- 关于TreeView中Tag 类型转换
- 如何用C#实现用sqlldr将文本文件导入数据库阿
- 在C#中如何动态定义数组
- 根据时间将两个不同结构数组合并成一个数组
- http中文utf8编码问题,没分了,外加100元
- 求助,Webbroswer控件模拟点击后网页源码不更新!!!!
- 在Windows Form中如何显示Html页面?
- 请教:在asp.net中调用c#编写的com+组件,总是出现 异常信息System.UnauthorizedAccessException
- 求正则表达
- DllImport 这个怎么破?
lock(对象)
{
代码块
}
注意被lock的对象,必须都是同一个对象,一般声明成static,避免被实例化多次导致每个线程锁定的不是同一个对象
普通list在取数和remove之间,就有可能出现脏数据
{
Parallel.ForEach(lstAcc, (acc) =>
{
new GetSellerLstForOl().GetSellerListCall(acc, 1);
});
}上面那个方法就是一个账号集合,然后多线程调用返回它的数据,每个账号一个线程。当然这里是不用考虑线程安全或者什么脏数据问题,你的需求自己看着办。
new GetSellerLstForOl().GetSellerListCall(acc, 1); 这个是什么 怎么看不懂啊 ,求代码
你手里有100个地址,有10个人帮你送货,你准备怎么办? --- 就是这样啊 求代码
new GetSellerLstForOl().GetSellerListCall(acc, 1); 这个是什么 怎么看不懂啊 ,求代码
你手里有100个地址,有10个人帮你送货,你准备怎么办? --- 就是这样啊 求代码 new GetSellerLstForOl().GetSellerListCall(acc, 1);是我们自己的自定义方法你不用管,你要看的是Parallel.ForEach假如你有100个地址,那么放进一个List<string>里,我们暂且起名为lstUrl,那么就是写成 public void SynOl(List<accountlist> lstAcc)
{
Parallel.ForEach(lstUrl, (url) =>
{
你的操作
});
}这里实现的效果是你有多少个地址就开多少个线程跑。