C# 多线程 线程池 遍历 DataTable 怎么让多线程,线程池的操作循环完DataTable 再 走下面的方法 等线程的操作全部循环结束后再走下面的方法 请给案例
5条回答 默认 最新
- wanghui0380 2023-03-17 10:54关注
额,这种事情都不必要强调线程不线程,时代在发展。20年前人们口里的宝贝,如今其实早就不当回事了
你这要求我们直接plinq即可(虽然他内部用了,但是我觉得不必强调,天天口里强调那些的,教出来的反而不会写代码了,因为他们把这些玩意看得太高级,太有技术了,所以反而忘了简单快乐的写代码。何必天天闹心掉头发的折腾20年前的高级)
DataTable dt = new DataTable(); dt.Columns.Add("id", typeof(Int32)); dt.LoadDataRow(new Object[] { 1 }, true); dt.LoadDataRow(new Object[] { 2 }, true); dt.LoadDataRow(new Object[] { 3 }, true); dt.LoadDataRow(new Object[] { 4 }, true); dt.AsEnumerable().AsParallel().ForAll(row => { Processrow(row); }); Console.WriteLine("已经循环完毕"); void Processrow(DataRow row) { //打印rowid和执行线程id Console.WriteLine($"{row["id"]}--{Thread.CurrentThread.ManagedThreadId}"); Thread.Sleep(1000*5); //加个5秒延迟是让你能明显看到,你他全部执行完毕后才会进入后面的 }
解决 1无用
悬赏问题
- ¥15 keil的map文件中Image component sizes各项意思
- ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
- ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
- ¥15 划分vlan后,链路不通了?
- ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
- ¥15 Vue3 大型图片数据拖动排序
- ¥15 Centos / PETGEM
- ¥15 划分vlan后不通了
- ¥20 用雷电模拟器安装百达屋apk一直闪退
- ¥15 算能科技20240506咨询(拒绝大模型回答)