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();
                }
            }
        }
    }

  • 相关阅读:
    CSDN专栏收集
    Android英文文档翻译系列(5)——VPNService
    Android英文文档翻译系列(4)——PopupWindow
    Android英文文档翻译系列(3)——AsyncTask
    Android英文文档翻译系列(2)——HandlerThread
    Android英文文档翻译系列(1)——AlarmManager
    Apktool源码解析——第二篇
    Apktool源码解析——第一篇
    AndroidのBuild工具之Ant动手实践
    Java的switch是否支持String作为参数,还支持哪些类型?
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3201273.html
Copyright © 2011-2022 走看看