多线程简单概念

来源:互联网 发布:linux永久网关配置命令 编辑:程序博客网 时间:2024/05/06 12:03

我们先简单了解一下,我会在后面的博客里分别介绍这四种线程:

     

    进程是指在系统中正在运行的一个应用进程

    每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内

    多线程

    同一时间,CPU只能处理一条线程,只有一条线程在工作(执行)

    多线程并发(同时)执行,其实是CPU快速地在多条线程之间调度(切换)

    如果CPU调度线程的时间足够快,就造成了多线程并发执行的假象

    多线程的优点

    能适当提高程序的执行效率

    能适当提高资源利用率(CPU,内存利用率)

    

    

    多线程的缺点

创建线程是有开销的,ios下主要成本包括:内核数据结构(大约1KB),栈空间(子线程512KB,主线呈1KB,也可以用setStackSize:设置,但必须是4k的倍数,而且最小是16k),创建线程大约需要90毫秒的创建时间

    如果开启大量的线程,会降低程序的执行性能

    

    

    主线程的主要作用

    显示/刷新UI界面

    处理UI事件(比如点击事件,滚动事件,拖拽事件等)

    主线程的使用注意

    别将比较耗时的操作放到主线程中

    耗时操作会卡主主线程,严重影响UI流畅度

    

    pthread C语言 跨平台 线程生命周期:程序员需要管理 使用频率:几乎不用

    NSThread OC语言 线程生命周期:程序员需要管理  使用频率:偶尔使用

    GCD OC语言 旨在替代NSThread等线程技术,由苹果公司推出,充分利用设备的多核。自动管理,经常使用

    NSOperation 基于GCD(底层是GCD)。比GCD多了一些更简单实用的功能,使用更加面相对象自动管理

    

    GCD NSOperation 他们会帮你创建好线程

    GCD是最常使用的


    


0 0
原创粉丝点击