zoukankan      html  css  js  c++  java
  • C#多线程,线程锁

    /*
     * User: Administrator
     * Email:798033502@qq.com
     * Date: 2013-7-18
     * Time: 22:54
     */
    using System;
    using System.Threading;

    namespace ThreadDome
    {
        class Program
        {
            //创建一个线程锁标识
            private static object threadLock = new object();
            public static void Main(string[] args)
            {
                //使10个线程全部指向同一个方法
                Thread [] threads = new Thread[10];
                for (int i = 0; i < 10; i++) {
                    threads[i]= new Thread(new ThreadStart(PrintNumbers));
                    threads[i].Name = string.Format("Worker thread{0}",i);
                    //设置为后台线程
                    threads[i].IsBackground =true;
                }
                //启动线程
                foreach (Thread t  in threads) {
                    t.Start();
                }
                
                Console.ReadKey();
            }
            
            public static  void PrintNumbers()
            {
                lock(threadLock)
                {
                    Console.WriteLine("线程——>{0}正在执行 ",Thread.CurrentThread.Name);
                    
                    for (int i = 0; i < 100; i++) {
                        Random r = new Random ();
                        Thread.Sleep(60*r.Next(6));
                        Console.WriteLine("{0}",i);
                    }
                    Console.WriteLine();
                }
            }
        }
    }

  • 相关阅读:
    如何使用pgpool failover_stream.sh自己控制选择指定的master节点
    使用pgpool管理数据库集群故障的问题
    pgpool中定义的数据库节点及pgpool支持的复制模式
    pgpool中的配置参数的定义
    pgpool-II在故障切换过程中是如何选举新主节点的
    nginx的proxy_pass路径转发规则浅析(末尾/问题)
    elasticsearch 安装配置详解
    查看ElasticSearch服务状态和结果的URL
    Elastic数据迁移方法及注意事项
    Kafka安装及部署
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3201273.html
Copyright © 2011-2022 走看看