zoukankan      html  css  js  c++  java
  • 初识多线程

    在学习多线程之前需要了解什么是进程?

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

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

    可以通过“活动监视器”查看Mac中所开启的进程

    下一个问题什么是线程?

    一个进程想要执行任务,必须得有线程(每一个进程只收要有一个主线程)

    一个进程中的所有任务都在线程中执行

    线程的串行

    1.一个线程中任务的执行时串行的

    2.如果要在一个线程中执行多个任务,那么只能一个一个地按顺序执行

    那么问题又来了什么叫多线程呢?

    1.一个进程中可以开多条线程,每条线程可以并行执行不同的任务

    2.多线程技术可以提高程序的执行效率

    如图:

    多线程的原理

    1.同一时间,CPU只能处理1条线程,只有1条线程在工作

    2.多线程的并发执行,其实就是CPU在快速的进行切换

    3.因为CPU切换非常快,就导致了多线程(其实是假象)

    多线程的优缺点

    优点:

    1.能提高程序的执行效率

    2.能适当提高资源利用率

    缺点:

    1.创建线程是有开销的,iOS下创建线程大约需要90毫秒的创建时间

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

    3.会使程序设计更加复杂

  • 相关阅读:
    数据库的字符集和校对集
    登录和退出Mysql
    启动mysql服务器
    Numpy
    如何用navicat导入数据?
    MySQL不能连接本地数据库10061
    使用navicat连接Mysql8.0出现2059错误
    leetcode笔记11 First Unique Character in a String
    leetcode笔记10 Intersection of Two Arrays(求交集)
    leetcode笔记9 Move Zeroes
  • 原文地址:https://www.cnblogs.com/langji/p/langji.html
Copyright © 2011-2022 走看看