请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

add的时候为什么不直接add到next所指向的位置?

如题,9视频分52秒左右,如果有新的对象obj3入栈,此时为什么不先把新的obj3 add到next指向的位置,然后再让next下移呢?为什么非得先让next指向nil,next下移后再让obj3 add 到next所指向的位置呢?哨兵的作用是什么呢?

正在回答

2回答

于海 2018-05-03 13:53:31

哨兵是分段用的,因为有多个autoreleasepoolpage的存在

0 回复 有任何疑惑可以回复我~
  • 提问者 慕用8453459 #1
    一个autoreleasepoolpage对应一个哨兵,一个线程对吗
    回复 有任何疑惑可以回复我~ 2018-05-03 15:57:15
  • 于海 回复 提问者 慕用8453459 #2
    可以简单理解一个page相当于插入一个哨兵  但是注意视频当中的ppt里面的一句话 autoreleasepool是由多个page结构组织起来的双向链表  线程和autoreleasepool可以一对一配对使用 并不是page和线程一一对应
    
    回复 有任何疑惑可以回复我~ 2018-05-03 16:52:47
  • 提问者 慕用8453459 回复 于海 #3
    get it.
    回复 有任何疑惑可以回复我~ 2018-05-03 16:54:58
提问者 慕用8453459 2018-05-03 00:14:14

明白了 一个autoreleasepoolpage对应一个哨兵,一个线程对吗

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信