• 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 );
    
    
            }
  • 相关阅读:
    Android Activity生命周期
    Android 横屏切换竖屏Activity的生命周期(转)
    (引用)mysql总结(二)
    (转载)mysql指令总结
    (引用)性能测试没有告诉你的
    参数化(引用)
    (引用)什么时候开展性能(二)
    (引用)什么时候开展性能(一)
    性能测试中容易混淆的概念
    浏览器内核
  • 原文地址:https://www.cnblogs.com/grj001/p/12223683.html
Copyright © 2020-2023  润新知