zoukankan      html  css  js  c++  java
  • 多线程之搬运货物1:不分堆搬

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading;

    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                Program p = new Program();
                p.Move();
                Console.ReadLine();
            }

            List<string> productList = new List<string>() { "AAAA""BBBB""CCCC""DDDD""EEEE" };//货物
            
            private void Move()
            {
                for(int i = 1; i<= 10;i++)
                {
                    productList.Add(i.ToString());
                }

                ThreadPool.SetMaxThreads(1010);
                lock (this)
                {
                    while (productList.Count > 0)
                    {
                        lock (this)
                        {
                            ThreadPool.QueueUserWorkItem(new WaitCallback(RealMove),productList[0]);
                            productList.RemoveAt(0);
                        }
                    }
                }
            }

            private void RealMove(object product)
            {
                System.Threading.Thread.Sleep(1000);
                Console.WriteLine("货物" + product.ToString() + "已经被成功送达目的地!" + System.DateTime.Now.ToString());//YYYY-MM-DD HH-MM-mm
            }
        }
    }
  • 相关阅读:
    诸神之眼-Nmap(精版,更新中。。。)
    workerman-chat聊天室
    Mysql记录事本
    网站标题、描述、关键词怎么设置?
    什么是谷歌SEO?
    图片加载之性能优化
    前端实现图片懒加载(lazyload)的两种方式
    HTML`CSS_网站页面不同浏览器兼容性问题解决
    从输入url到显示页面,都经历了什么
    什么是mvvm mvc是什么区别 原理
  • 原文地址:https://www.cnblogs.com/pnljs/p/3523691.html
Copyright © 2011-2022 走看看