彩世界平台-彩世界时时app-彩世界开奖app苹果下载

热门关键词: 彩世界平台,彩世界时时app,彩世界开奖app苹果下载

您的位置:彩世界平台 > 工作委员会 > 关于死锁,死锁

关于死锁,死锁

发布时间:2019-11-09 03:59编辑:工作委员会浏览(78)

    select
    request_session_id spid,
    OBJECT_NAME(resource_associated_entity_id) tableName
    from
    sys.dm_tran_locks
    where
    resource_type='OBJECT'

    关于死锁,死锁

    示例:一个标准的死锁

    - (void)viewDidLoad
    {
    [super viewDidLoad];
    
    dispatch_sync(dispatch_get_main_queue(), ^{});
    
    }
    

    dispatch_sync(queue, block) 做了两件事情

    • 将 block 添加到  class="searchwordd833">queue 队列;
    • 阻塞调用线程,等待 block() 执行结束,回到调用线程。

    dispatch_async(queue, block) 也做了两件事情:

    • 将 block 添加到  > class="searchwordd833">queue 队列;
    • 直接回到调用线程(不阻塞调用线程)。

    这里也能看到同步派发和异步派发的区别,就是看是否阻塞调用线程。

     

    我们忽略了主线程是先进先出的即(FIFO),而viewdidload这样的方法是属于主线程的,所以主线程应该先执行完viewdidload的任务,然后才执行下一个,可是同步的执行加入主线程话就需要viewdidload 先执行完成,viewdidload却在等待同步的完成所以死锁了

     

    所以记住这个教训:不要将 block 同步派发到调用 GCD 所在线程的关联队列中

    itemprop="url"> > id="indexUrl" itemprop="indexUrl">www.bkjia.com > id="isOriginal" itemprop="isOriginal">true > id="isBasedOnUrl" itemprop="isBasedOnUrl"> > id="genre" itemprop="genre">TechArticle > itemprop="description">关于死锁,死锁 示例:一个标准的死锁 - ( void )viewDidLoad{[super viewDidLoad];dispatch_sync(dispatch_get_main_queue(), ^ {});} dispatch_sync( queue, block) 做了两...

     

    本文由彩世界平台发布于工作委员会,转载请注明出处:关于死锁,死锁

    关键词:

上一篇:没有了

下一篇:没有了