本文实例讲述了C#线程执行超时处理与并发线程数控制的方法。。具体实现方法如下:
特别说明:
1、为了测试方便,这里对存储过程的执行是模拟的
2、这里限制了并发执行存储过程的最大个数,但并没有对并发线程数进行控制,与文章标题略有不符,但程序稍做改动即可控制并发线程数
代码如下:
复制代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OracleClient;
using System.Diagnostics;
using System.IO;
using System.ServiceProcess;
using System.Text;
using System.Threading;
using System.Timers;
using System.Xml;
using DBUtil;
using FQDService.Utils;
namespace FQDService
{
/// <summary>
/// FQD服务
/// </summary>
partial class FQDService : ServiceBase
{
#region 变量
/// <summary>
/// 存储过程配置文档
/// </summary>
public static XmlDocument doc;
/// <summary>
/// 执行存储过程线程数锁
/// </summary>
public static Object lockTreadCount = new Object();
/// <summary>
/// 执行存储过程超时时间
/// </summary>
public static int timeout = 1000;
/// <summary>
/// 等待执行存储过程时间间隔
/// </summary>










