zoukankan      html  css  js  c++  java
  • ios30---pthread, NSThread, GCD, NSOperation

    pthread(线程库,很早就有的技术,了解):
    一套通用的多线程API
    适用于UnixLinuxWindows等系统(java开发也有pthread)
    跨平台可移植
    使用难度大(全是C函数)

    C语言

    程序员管理线程生命周期,几乎不用

    NSThread(掌握):
    使用更加面向对象
    简单易用,可直接操作线程对象

    OC语言

    程序员管理线程生命周期(管生不管死),偶尔使用

    GCD(功能强大,重点):
    旨在替代NSThread等线程技术
    充分利用设备的多核(特点)

    c语言

    自动管理线程生命周期,经常使用


    NSOperation(重点):
    基于GCD(底层是GCD)
    比GCD多了一些更简单实用的功能
    使用更加面向对象

    OC语言

    自动管理线程生命周期,经常使用

    //
    //  ViewController.m
    //  02-了解-pthread简单使用
    //
    //  Created by xiaomage on 16/2/18.
    //  Copyright © 2016年 小码哥. All rights reserved.
    //
    
    #import "ViewController.h"
    #import <pthread.h>
    
    @interface ViewController ()
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
    
       
    }
    
    - (IBAction)btnClick:(id)sender {
    
        
        
    //    NSLog(@"%@",[NSThread currentThread]);
        
        //1.创建线程对象,包含头文件#import <pthread.h>
        pthread_t thread;
        
        //2.创建线程函数
        /*
         第一个参数:线程对象 传递地址
         第二个参数:线程的属性 NULL
         第三个参数:指向函数的指针
         第四个参数:函数需要接受的参数
         */
        pthread_create(&thread, NULL, task, NULL);
        
        
    //    //1.创建线程对象
        pthread_t threadB;
    //    
    //    //2.创建线程函数
    //    /*
    //     第一个参数:线程对象 传递地址
    //     第二个参数:线程的属性 NULL
    //     第三个参数:指向函数的指针
    //     第四个参数:函数需要接受的参数
    //     */
        pthread_create(&threadB, NULL, task, NULL);
        
        pthread_equal(thread, threadB);
    
    }
    
    void* task(void* param)
    {
        for (NSInteger i = 0; i<2; i++) {
            NSLog(@"%zd----%@",i,[NSThread currentThread]);
        }
        
        NSLog(@"%@--------",[NSThread currentThread]);
        return NULL;
    }
    
    @end
  • 相关阅读:
    tkinter 写一个简易的ide
    Vue+webpack项目配置便于维护的目录结构
    爬虫:输入网页之后爬取当前页面的图片和背景图片,最后打包成exe
    linux vue项目+npm run build + nginx
    Android 进阶自定义 ViewGroup 自定义布局
    Android 属性动画框架 ObjectAnimator、ValueAnimator ,这一篇就够了
    桶排序
    Test CMake run finished with errors
    搭建私人云盘
    Java中 / 和 %
  • 原文地址:https://www.cnblogs.com/yaowen/p/7488832.html
Copyright © 2011-2022 走看看