多线程

作者: 极客123 | 来源:发表于2018-11-12 16:39 被阅读0次

单线程进程结构缺点:

  • 并发程序存在问题
  • 进程切换开销大
  • 进程通信开销大
  • 限制了进程并发的力度
  • 降低了并行计算的效率

单线程: 共享资源需要在OS中各种机制进行保护,在进行通信时开销及切换就会很大


多线程下线程的概念

线程是进程的一条执行路径,是调度的基本单位,同一个进程中的所有线程共享进程获得的主存空间和资源。
具有:

  • 线程的执行状态
  • 受保护的线程上下文,线程不运行时,用于存储线程信息
  • 独立的程序指令计数器
  • 执行堆栈
  • 容纳局部变量的静态存储器

线程状态有运行、就绪和睡眠,但没有挂起

线程这个概念最初是由程序设计语言提出的


内核级线程(KLT):

  • 线程管理全部由OS内核来做
  • OS提供了一个应用程序设计接口API,供开发者使用KLT
  • OS直接调用KLT

用户级线程(ULT):

  • 所有线程管理数据结构都在进程的用户空间中,线程切换不需要内核模式,能节省模式切换开销和内核的宝贵资源。
  • 允许进程按应用特定需要选择进行调度算法,甚至根据应用需求裁剪调度算法
  • 能运行在任何OS上,内核在支持ULT方面不需要做任何工作

Java语言就是用户级多线程机制:
不能应用多处理器的特点: 物理并行性机制不是很好(Jacketing)
ULT适用于解决逻辑性并行性问题解决
KLT适用于物理并行性问题解决


相关文章

  • iOS多线程 NSOperation

    系列文章: 多线程 多线程 pthread、NSThread 多线程 GCD 多线程 NSOperation 多线...

  • iOS多线程 pthread、NSThread

    系列文章: 多线程 多线程 pthread、NSThread 多线程 GCD 多线程 NSOperation 多线...

  • iOS多线程: GCD

    系列文章: 多线程 多线程 pthread、NSThread 多线程 GCD 多线程 NSOperation 多线...

  • iOS多线程运用

    系列文章: 多线程 多线程 pthread、NSThread 多线程 GCD 多线程 NSOperation 多线...

  • iOS多线程基础

    系列文章: 多线程 多线程 pthread、NSThread 多线程 GCD 多线程 NSOperation 多线...

  • 多线程介绍

    一、进程与线程 进程介绍 线程介绍 线程的串行 二、多线程 多线程介绍 多线程原理 多线程的优缺点 多线程优点: ...

  • iOS进阶之多线程管理(GCD、RunLoop、pthread、

    深入理解RunLoopiOS多线程--彻底学会多线程之『GCD』iOS多线程--彻底学会多线程之『pthread、...

  • iOS多线程相关面试题

    iOS多线程demo iOS多线程之--NSThread iOS多线程之--GCD详解 iOS多线程之--NSOp...

  • 多线程之--NSOperation

    iOS多线程demo iOS多线程之--NSThread iOS多线程之--GCD详解 iOS多线程之--NSOp...

  • iOS多线程之--NSThread

    iOS多线程demo iOS多线程之--NSThread iOS多线程之--GCD详解 iOS多线程之--NSOp...

网友评论

      本文标题:多线程

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