zoukankan      html  css  js  c++  java
  • 线程同步lock and monitor

     

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

    namespace ConsoleApplication1
    {
        class Print
        {
            public void printNumbers()
            {
                Monitor.Enter(this);
                try
                {
                    for (int i = 0; i < 10; i++)
                    {
                        Console.Write("{0}\t", i);
                    }
                    Console.WriteLine();
                }
                finally
                {
                    Monitor.Exit(this);
                }
            }

            public void printNumberslock()
            {
                lock (this)
                {
                    for (int i = 0; i < 10; i++)
                    {
                        Console.Write("{0}\t", i);
                    }
                    Console.WriteLine();
                }
            }
        }

        
        class Program
        {
            static void Main(string[] args)
            {
                Print p = new Print();
                Thread[] threads = new Thread[10];

                for (int i = 0; i < 10; i++)
                {
                    threads[i] = new Thread(new ThreadStart(p.printNumbers));
                    threads[i].Name = string.Format("thread#{0}", i);
                }
                    foreach (Thread t in threads)
                    {
                        Console.WriteLine(t.Name );
                        t.Start();
                    }
            }
        }
    }

     

  • 相关阅读:
    CMD与bat操作
    XmlHelper XML通用类
    Regex正则表达式扩展
    LONG数据类型转换为VARCHAR2并相互转换
    CLOB数据类型截取SUBSTR_按开始位置偏移量
    12c rac On redhat 7
    DML_DDL_触发器
    Linux平台 Oracle 18c RAC安装
    hadoop 透明加密
    Poco::Crypto--加解密_RSA
  • 原文地址:https://www.cnblogs.com/qixue/p/1587812.html
Copyright © 2011-2022 走看看