• C# 多线程操作队列


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading;
    using System.Net;
    using System.Runtime.InteropServices;
    using System.Net.Sockets;
    using System.IO;
    using System.Collections;

    namespace ConsoleApplication1
    {

    public class prodert
    {
    private string urls;
    private string name;
    public string Name
    {
    set { this.name = value; }
    get { return this.name; }
    }

    public string Urls
    {
    set { this.urls = value; }
    get { return this.urls; }
    }
    }

    class IPSearch
    {
    static Queue<prodert> q = new Queue<prodert>();
    public static object a = new object();
    static void Main(string[] args)
    {

    Dictionary<string, string> dic = new Dictionary<string, string>();

    for (int i = 0; i < 100; i++)
    {
    prodert p = new prodert();
    p.Urls = "http://www.hao123.com" + i.ToString();
    p.Name = "hao123com" + i.ToString();
    q.Enqueue(p);
    }

    Thread t1 = new Thread(new ThreadStart(getQueue));
    Thread t2 = new Thread(new ThreadStart(getQueue));
    Thread t3 = new Thread(new ThreadStart(getQueue));
    t1.Name = "t1";
    t1.Start();
    t2.Name = "t2";
    t2.Start();
    t3.Name = "t3";
    t3.Start();
    Console.ReadKey();
    }
    private static void getQueue()
    {
    for (int i = 0; i < 10; i++)
    {
    aa();
    }
    }
    private static void aa()
    {
    lock (a)
    {
    if (q.Count > 0)
    {
    prodert p1 = q.Dequeue();
    Thread.Sleep(100);
    Console.WriteLine(p1.Name + p1.Urls+"------"+Thread.CurrentThread.Name);

    }
    }
    }
    }
    }

  • 相关阅读:
    Are You Safer With Firefox?(zz)
    IIS+PHP下调用WebService初试
    垃圾链接和网络欺骗
    微软即将发布64位XP和Win2003 SP1(zz)
    今日个人大事记:)
    GT4 Web Service编译和发布初探
    纪念一下QQ等级和在线时长
    今天安装GT3.9.5碰到的问题
    判断32位整数二进制中1的个数
    Windows 2003 SP1新体验
  • 原文地址:https://www.cnblogs.com/armyfai/p/3761553.html
Copyright © 2020-2023  润新知