zoukankan      html  css  js  c++  java
  • iOS-网络基础概念

    webBasic-网络基础

    一、基础概念

    • 进程

      • 进程是指在系统中正在运行的独立的一个应用程序
    • 线程

      • 1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程)

      • 一个进程(程序)的所有任务都在线程中执行

      • 特征:

        • 1个线程中任务的执行是串行的
    • 主线程

      • 一个iOS程序运行后,默认会开启1条线程,称为“主线程”或“UI线程”
      • 作用
        • 显示刷新UI界面
        • 处理UI事件(比如点击事件、滚动事件、拖拽事件等)
          +使用注意:
          *别将比较耗时的操作放到主线程中

    注意:

    • 虽然有时候可以在子线程中操作UI, 但是开发中千万不要这样干
      因为如果是在子线程中操作UI, 有时候行, 有时候不行
    • iOS中多线程的实现方案

    二、pthread

    基本不用

    • 创建pthread
      • pthread_create
    • 只要create一次就会创建一个新的线程
    • 系统会自动在子线程中调用传入的函数
    
    // 将耗时操作放到子线程中执行
    
        /*
         第一个参数: 线程的代号(当做就是线程)
         第二个参数: 线程的属性
         第三个参数: 指向函数的指针, 就是将来线程需要执行的方法
         第四个参数: 给第三个参数的指向函数的指针 传递的参数
         void *(*functionP)(void *)
         void *  == id
    
         一般情况下C语言中的类型都是以 _t或者Ref结尾
         */
        pthread_t threadId;
        // 只要create一次就会创建一个新的线程
        pthread_create(&threadId , NULL, &demo, "lnj");
    
    void *demo(void * param)
    {
        // 会在子线程中执行
        NSLog(@"%s, %@", param, [NSThread currentThread]);
        for (int i = 0; i < 99999; i++) {
            // NSLog是非常耗时的操作
            // 一般情况在企业开发中, 如果程序要上架, 必须去掉程序中所有的NSLog
            NSLog(@"%i", i);
        }
        return NULL;
    }
    
  • 相关阅读:
    方向
    CSS笔记2 css中的伪类
    CSS 笔记1 css选择器
    0employee_attr抽取性能慢
    用程序读取Query,模拟APD将数据存到直接更新的DSO
    生产环境无法修改,如何调整分析权限
    BW通过函数调用Query,设置传入参数,动态设置输出维度
    EXCEL使用公式去除一列中的重复项
    修改已释放传输请求
    BW使用函数模块自定义数据源
  • 原文地址:https://www.cnblogs.com/66it/p/4719727.html
Copyright © 2011-2022 走看看