C# 多线程运用
没有用过多线程,所以没有过多的了解操作原理以及怎么编写多线程
后来才只知道将一个传入的集合分别拆开为N个集合来进行使用
//分线程执行
public static void OperateThread(object Sales)
{
//Sales 传入的数据集合
List<TradeSales> sales=Sales as List<TradeSales>();
if(sales==null)
sales=new List<TradeSales>();
//指定线程数量
long ThreadCount=;
//指定条数
long pagesize=;
for(int i=;i<ThreadCount;i++)
{
if((sales.Count+i)%ThreadCount==)
{
pagesize=(sales.Count+i)/ThreadCount;
break;
}
} HashTable ht=new HashTable(); long pageindex=;
List<TradeSales> list1=new List<ThreadSales>();
List<TradeSales> list2=new List<ThreadSales>();
List<TradeSales> list3=new List<ThreadSales>();
List<TradeSales> list4=new List<ThreadSales>();
List<TradeSales> list5=new List<ThreadSales>();
List<TradeSales> list6=new List<ThreadSales>();
List<TradeSales> list7=new List<ThreadSales>();
List<TradeSales> list8=new List<ThreadSales>();
List<TradeSales> list9=new List<ThreadSales>();
List<TradeSales> list10=new List<ThreadSales>(); for(int i=;i<sales.Count;i++)
{
swith(pageindex)
{
case : list1.Add(sales[i]);break;
case : list2.Add(sales[i]);break;
case : list3.Add(sales[i]);break;
case : list4.Add(sales[i]);break;
case : list5.Add(sales[i]);break;
case : list6.Add(sales[i]);break;
case : list7.Add(sales[i]);break;
case : list8.Add(sales[i]);break;
case : list9.Add(sales[i]);break;
case : list10.Add(sales[i]);break;
} if(((i+)%pageindex==)|| (i+)==sales.Count)
{
Thread th=new Thread(new ParameterizedThreadStart(ShouDongXiaZaiShangChengOrderParts));
switch(pageindex)
{
case : th.Start(list1);break;
case : th.Start(list2);break;
case : th.Start(list3);break;
case : th.Start(list4);break;
case : th.Start(list5);break;
case : th.Start(list6);break;
case : th.Start(list7);break;
case : th.Start(list8);break;
case : th.Start(list9);break;
case : th.Start(list10);break;
}
} pageindes++;
}
}
C# 多线程运用的更多相关文章
- Python中的多进程与多线程(一)
一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...
- 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例
前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...
- 多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)
前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...
- Java多线程
一:进程与线程 概述:几乎任何的操作系统都支持运行多个任务,通常一个任务就是一个程序,而一个程序就是一个进程.当一个进程运行时,内部可能包括多个顺序执行流,每个顺序执行流就是一个线程. 进程:进程 ...
- .NET基础拾遗(5)多线程开发基础
Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...
- Java多线程基础——对象及变量并发访问
在开发多线程程序时,如果每个多线程处理的事情都不一样,每个线程都互不相关,这样开发的过程就非常轻松.但是很多时候,多线程程序是需要同时访问同一个对象,或者变量的.这样,一个对象同时被多个线程访问,会出 ...
- C#多线程之线程池篇3
在上一篇C#多线程之线程池篇2中,我们主要学习了线程池和并行度以及如何实现取消选项的相关知识.在这一篇中,我们主要学习如何使用等待句柄和超时.使用计时器和使用BackgroundWorker组件的相关 ...
- C#多线程之线程池篇2
在上一篇C#多线程之线程池篇1中,我们主要学习了如何在线程池中调用委托以及如何在线程池中执行异步操作,在这篇中,我们将学习线程池和并行度.实现取消选项的相关知识. 三.线程池和并行度 在这一小节中,我 ...
- C#多线程之线程池篇1
在C#多线程之线程池篇中,我们将学习多线程访问共享资源的一些通用的技术,我们将学习到以下知识点: 在线程池中调用委托 在线程池中执行异步操作 线程池和并行度 实现取消选项 使用等待句柄和超时 使用计时 ...
- C#多线程之线程同步篇3
在上一篇C#多线程之线程同步篇2中,我们主要学习了AutoResetEvent构造.ManualResetEventSlim构造和CountdownEvent构造,在这一篇中,我们将学习Barrier ...
随机推荐
- WebService中实现上传下载文件
不多说,直接看代码: /*上传文件的WebService*/ using System; using System.Collections; using System.Collections.Gene ...
- 服务器返回数组,data[0]得到的总是不对?如何处理?
我用asp.net MVC 写了服务器代码,返回数组,ajax怎么处理返回的数组内容? 您好,首先用eval将获得的ajax数据转化成json对象并赋值给一个变量. 比如: var obj=eval( ...
- (medium)LeetCode 221.Maximal Square
Given a 2D binary matrix filled with 0's and 1's, find the largest square containing all 1's and ret ...
- VS2013配置WTL90_4140_Final
网上关于WTL的文章,尤其是中文的文章不多,根据收集的资料整理出了VS2013安装WTL的方法. 1.下载.文件很小的,地址:http://sourceforge.net/projects/wtl/f ...
- EDS 14.0 dtc:commmand not found
EDS 14.0在生成dtb文件时,输入命令: dtc -I dts -O dtb -o soc_system.dtb soc_system.dts 出现错误: bash:dtc:command on ...
- HDFS Java API 常用操作
package com.luogankun.hadoop.hdfs.api; import java.io.BufferedInputStream; import java.io.File; impo ...
- cisco VPN配置
拓扑拿朋友的. r1(config)#int f0/0 r1(config-if)#ip add 50.50.50.50 255.255.255.0 r1(config-if)#no shu r1(c ...
- unknown software exception
打开cmd 输入下面代码,回车,等跑完即解决for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
- 学习练习 session练习
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- 学习练习 java面向对象封装汽车
package com.hanqi; //汽车 public class Car { // 车牌 private String CheP; // 油箱容量 private double YouXRL ...