美文网首页
线程的基本信息

线程的基本信息

作者: 张俊凯 | 来源:发表于2019-04-11 20:13 被阅读0次
    • 空间

    主线程栈空间大小为 1M = 1024KB 无法修改(最大值)
    子线程默认栈控件为 512kb (最大值)
    并且,一开始创建线程的时候空间有可能很小,随着使用而增加,
    主线程的栈实际使用空间 <= 1024KB
    子线程的栈实际使用空间 <= 512KB
    线程启动前,stackd空间大小可以被改变
    size 分配内存的大小单位是1KB,线程创建在栈上,stack的最小值是16kb,而且大小必须是4的倍数 16 20 24 28 32 36 40kb 。。。

    • 时间

    时间消耗:(1毫秒 = 1/1000 秒)
    创建:4-5毫秒
    启动:5-100毫秒 平均 29毫秒
    总结:开销较大
    原因:上下文切换带来的开销(CPU在某个时间点只能处理一个线程里的一个事情,如果处理另一个线程,需要上下文切换)

    -(NSThread *)creatThreadWithTarget:(id)target selector:(SEL)selector object:(id)argument stackSize:(NSUInteger)size{
    
        if (size % 4096 != 0) {
            return nil;
        }
        
        NSThread *t = [[NSThread alloc] initWithTarget:target selector:selector object:argument];
        t.stackSize = size;
        return t;
        
    }
    

    相关文章

      网友评论

          本文标题:线程的基本信息

          本文链接:https://www.haomeiwen.com/subject/eknxwqtx.html