zoukankan      html  css  js  c++  java
  • C#Monitor多线程 不阻塞线程 无法执行时 放弃

    public void TestMethod1() {
                object _lock = new object();
    
                Action a1 = () => {
                    if ( Monitor.TryEnter( _lock ) ) {
                        try {
    
                            for ( int i = 0; i < 10; i++ ) {
                                Debug.Print( "a1\t" + i );
                            }
                        } catch ( Exception ex ) {
                            Debug.Print( " a1 occur error : " + ex.Message );
                        } finally {
                            Monitor.Exit( _lock );
                        }
                    }
                };
                Action a2 = () => {
                    if ( Monitor.TryEnter( _lock ) ) {
                        try {
                            for ( int i = 0; i < 10; i++ ) {
                                Debug.Print( "a2\t" + i );
                            }
                        } catch ( Exception ex ) {
                            Debug.Print( "a2 occur error : " + ex.Message );
                        } finally {
                            Monitor.Exit( _lock );
                        }
                    }
                };
    
                Parallel.Invoke( a1, a2 );
    
    
            }
  • 相关阅读:
    人月神话第二遍(总)--读书笔记
    Python实现人脸检测(个人、多人、视频)
    软件体系架构的质量属性
    jdk1.8 使用的是什么垃圾回收器?
    【深入理解Java虚拟机】垃圾回收
    P2167 [SDOI2009]Bill的挑战
    二项式反演基础
    P5039 [SHOI2010]最小生成树
    快速莫比乌斯/沃尔什变换 (FMT/FWT)
    莫比乌斯反演
  • 原文地址:https://www.cnblogs.com/grj001/p/12223683.html
Copyright © 2011-2022 走看看