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);
}
            }
        }
    } 
}
C# 多线程操作队列的更多相关文章
- swift语言之多线程操作和操作队列(下)———坚持51天吃掉大象(写技术文章)
		
欢迎有兴趣的朋友,参与我的美女同事发起的活动<51天吃掉大象>,该美女真的很疯狂,希望和大家一起坚持51天做一件事情,我加入这个队伍,希望坚持51天每天写一篇技术文章.关注她的微信公众号: ...
 - swift语言之多线程操作和操作队列(上)———坚持51天吃掉大象
		
欢迎有兴趣的朋友,参与我的美女同事发起的活动<51天吃掉大象>,该美女真的很疯狂,希望和大家一起坚持51天做一件事情,我加入这个队伍,希望坚持51天每天写一篇技术文章.关注她的微信公众号: ...
 - python threading模块使用 以及python多线程操作的实践(使用Queue队列模块)
		
今天花了近乎一天的时间研究python关于多线程的问题,查看了大量源码 自己也实践了一个生产消费者模型,所以把一天的收获总结一下. 由于GIL(Global Interpreter Lock)锁的关系 ...
 - 多线程操作C++ STL vector出现概率coredump问题及尽量避免锁的双缓冲队列
		
多线程操作全局变量,必须考虑同步问题,否则可能出现数据不一致, 甚至触发coredump. 前段时间, 遇到一个多线程操作了全局的vector的问题, 程序崩了.场景是这样的:某全局配置参数保存在一 ...
 - iOS:操作队列实现多线程NSOperation
		
NSOperation具体使用:直接继承NSObject 它的子类有:NSBlockOperation.NSInvocationOperation 还有一个必须的类,队列,用来装创建的线程 NSOpe ...
 - C#中级-常用多线程操作(持续更新)
		
一.前言 多线程操作一直是编程的常用操作,掌握好基本的操作可以让程序运行的更加有效.本文不求大而全,只是将我自己工作中常常用到的多线程操作做个分类和总结.平时记性不好的时候还能看看.本文参 ...
 - MFC的多线程操作
		
记得用MFC做了一个图像自动修复软件,当时没有多线程操作这一概念,由于图像修复算法比较复杂,因此,当执行图像修复时,程序就像卡死了似得而不能做其他操作.其实MFC对这种情况有一种很好地解决方案,那就是 ...
 - 更高效地提高redis client多线程操作的并发吞吐设计
		
Redis是一个非常高效的基于内存的NOSQL数据库,它提供非常高效的数据读写效能.在实际应用中往往是带宽和CLIENT库读写损耗过高导致无法更好地发挥出Redis更出色的能力.下面结合一些redis ...
 - C#多线程操作界面控件的解决方案(转)
		
C#中利用委托实现多线程跨线程操作 - 张小鱼 2010-10-22 08:38 在使用VS2005的时候,如果你从非创建这个控件的线程中访问这个控件或者操作这个控件的话就会抛出这个异常.这是微软为了 ...
 
随机推荐
- angular学习笔记(十三)
			
本篇主要介绍控制器的$scope中的数据是如何被改变的: 以下三种方法,都可以改变$scope中的number值: 1. 表达式: <span ng-click="number=num ...
 - 每日英语:Genetic Manipulation Extends Life of Mice 20%
			
By reducing the activity of one type of gene, scientists said they increased the average life span o ...
 - Spark大师之路:广播变量(Broadcast)源码分析
			
概述 最近工作上忙死了……广播变量这一块其实早就看过了,一直没有贴出来. 本文基于Spark 1.0源码分析,主要探讨广播变量的初始化.创建.读取以及清除. 类关系 BroadcastManager类 ...
 - Spark性能优化指南——基础篇转
			
前言 在大数据计算领域,Spark已经成为了越来越流行.越来越受欢迎的计算平台之一.Spark的功能涵盖了大数据领域的离线批处理.SQL类处理.流式/实时计算.机器学习.图计算等各种不同类型的计算操作 ...
 - 第一个struts程序的配置过程
			
然后输入project-name,比如说“test",点finish,配置web.xml,这里的org.apache.struts.action.ActionServlet就在struts- ...
 - 开发中tomcat缓存问题
			
tomcat-清除缓存 方法一: conf/server.xml文件 Context path中间加上reloadable="true" 例如:<Context pat ...
 - dp之多维背包hdu2159
			
二维背包问题,我是觉得这个题目数据比较水,虽然它最后说了怪可以无限个,但是它却只能最多杀s个,也就是所有品种的怪最多为s个,那么就是二维完全背包的问题了.......同时,它没有说一定要杀s只怪,所以 ...
 - 一款手机端的jQuery图片滑块插件
			
今天我们要介绍一款比较特别的jQuery图片滑块插件,它不仅在PC浏览器上可以使用,而且更适合在手机端的网页中使用.这款jQuery插件不仅可以定义图片切换的方向,而且可以即时切换图片切换的动画方式, ...
 - 一款由html5 canvas实现五彩小圆圈背景特效
			
之前介绍了好几款html5 canvas实现的特效.今天要为大家介绍一款由html5 canvas实现五彩小圆圈背景特效.五彩的小圆圈渐显渐失的特效.效果图如下: 在线预览 源码下载 html代码 ...
 - 爬取千万淘宝商品的python脚本
			
import time import leveldb from urllib.parse import quote_plus import re import json import itertool ...