至于死锁,死锁

发布时间:2019-10-06  栏目:SQL  评论:0 Comments

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”>http://www.bkjia.com/IOSjc/1040396.html > id=”indexUrl” itemprop=”indexUrl”>www.bkjia.com > id=”isOriginal” itemprop=”isOriginal”>true > id=”isBasedOnUrl”
itemprop=”isBasedOnUrl”>http://www.bkjia.com/IOSjc/1040396.html > id=”genre” itemprop=”genre”>TechArticle > itemprop=”description”>关于死锁,死锁 示例:一个标准的死锁 – ( void
)viewDidLoad{[super
viewDidLoad];dispatch_sync(dispatch_get_main_queue(), ^ {});}
dispatch_sync( queue, block) 做了两…

 

接下来kill 里面包车型地铁历程

留下评论

网站地图xml地图