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 );
    
    
            }
  • 相关阅读:
    c语言面试
    汇编面试基础
    求余符号的用法
    ++a和a++的一点不同
    OVER子句
    SQL执行计划解析(1) 执行计划基础
    sql 排序规则 chinese_prc_ci_as
    SQL执行计划解析(2) 基本查询的图形执行计划
    过sql_trace跟踪得到了该SQL的执行计划,如何看懂执行计划
    JS日历控件集合附效果图、源代码
  • 原文地址:https://www.cnblogs.com/grj001/p/12223684.html
Copyright © 2011-2022 走看看