zoukankan      html  css  js  c++  java
  • Thread Pool 备忘

    using System;
    using System.Threading;
    public class Example {
        
    public static void Main() {
            
    // Queue the task.
            ThreadPool.QueueUserWorkItem(new WaitCallback(ThreadProc));
            ThreadPool.QueueUserWorkItem(
    new WaitCallback(ThreadProc2));
            Console.WriteLine(
    "Main thread does some work, then sleeps.");
            
    // If you comment out the Sleep, the main thread exits before
            
    // the thread pool task runs.  The thread pool uses background
            
    // threads, which do not keep the application running.  (This
            
    // is a simple example of a race condition.)
            Thread.Sleep(1000);
        Console.ReadLine();
            Console.WriteLine(
    "Main thread exits.");
        }


        
    // This thread procedure performs the task.
        static void ThreadProc(Object stateInfo) {
            
    // No state object was passed to QueueUserWorkItem, so 
            
    // stateInfo is null.
        for(int i=0;i<50;i++)
        
    {
            Random  rnd 
    = new Random();
            
    int n = rnd.Next(100,1000);
            Thread.Sleep(n);
                Console.WriteLine(
    "AAAAAA."+i.ToString());
        }

    }

     
    static void ThreadProc2(Object stateInfo) {
            
    // No state object was passed to QueueUserWorkItem, so 
            
    // stateInfo is null.
        for(int i=0;i<50;i++)
        
    {    
            Random  rnd 
    = new Random();
            
    int n = rnd.Next(100,1000);
            Thread.Sleep(n);
                Console.WriteLine(
    "BBBB."+i.ToString());
        }

        }

    }

    转载别人的一个类..
    using System;
    using System.Threading ;
    using System.IO;
    using System.Net;
    using System.Net.Sockets;
    using System.Collections ;
    using System.Text ;
    using System.Diagnostics ;


    namespace Bigeagle.Net.Server
    {
        
    /// <summary>
        
    /// <br>server类</br>
        
    /// <br>Author: bigeagle@163.net</br>
        
    /// <br>Date :  2002/02/04</br>
        
    /// <br>History: 2002/02/04 finished</br>
        
    /// <br>Todo: 现在的类结构不尽合理,将来考虑使用delgates以便同winform绑定。</br>
        
    /// </summary>
        
    /// <remarks>
        
    /// <br>抽象类,用于一些常见的网络server的基类,如http,ftp,mail等。</br>
        
    /// <br>主要功能是监听一个端口,然后利用线程池起规定数量的线程等待客户端连接
        
    /// ,同时有一个守护线程监视线程使用情况,如果所有线程都在工作,则起一个空闲线程
        
    /// 继续等待客户端的连接。
        
    /// </br>
        
    /// <br>子类继承后必须实现其OnCommunication()抽象方法来完成自己要做的工作。</br>
        
    /// </remarks>

        public abstract class Server
        
    {
            
    常量

            
    静态变量

            
    成员变量定义        

            
    属性定义

            
    构造函数

            
    私有函数

            
    保护函数

            
    公共方法

        }
    //end class
    }
    //end namespace
    /Files/lovebanyi/threadpool.rar
  • 相关阅读:
    linux目录结构介绍
    Linux下安装Redis
    SpringBoot启动器详解pom.xml
    Linux(CentOS6.X)安装mysql
    CentOS 7 安装 MySQL
    GIT和SVN的区别
    SourceTree安装教程
    Git版本控制软件结合GitHub从入门到精通常用命令学习手册
    WIN下Git GUI 教程
    把文件(项目)上传到Git@OSC
  • 原文地址:https://www.cnblogs.com/lovebanyi/p/307467.html
Copyright © 2011-2022 走看看