前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 多线程---基本概念

Java 多线程---基本概念

作者头像
张凝可
发布2019-08-22 10:56:19
3110
发布2019-08-22 10:56:19
举报
文章被收录于专栏:技术圈技术圈

**

进程-程序,线程-程序

** 进程本质是执行中的程序。 线程是程序中流控制。本身是不能执行的,只能使用分配给程序的资源。 进程-线程 一个进程可以包含一个或者多个线程,但是至少要包含一个线程。 多进程-允许计算机运行两个或者更多的程序。    -多进程内部的数据和状态时完全独立的。    -进程通信成本高,难度大。    -进程与进程切换负担大。    -多进程需要大的管理成本。 多线程-一个程序实现多个代码同时交替运行,则需要产生多线程。    -多线程共享一块内存空间和一组系统资源,可能相互影响。    -线程通信成本低,难度小。    -线程与线程切换负担小。    -多线程比较容易管理。 **

多线程的好处:

** 就是“最大限度地利用CPU资源”,当某一线程的处理不需要占用CPU而只和IO等资源打交道时,让需要占用CPU的其他线程有机会获得CPU资源。从根本上说,这就是多线程编程的最终目的。 从宏观角度来看,多个线程在同时执行(宏观并行),但是微观上来看,处理器的个数决定了某一个时刻可以同时运行的最大线程数,如单核CPU某一时刻只能有一个线程在执行(微观串行),双核的CPU在某一个时刻,最多可以运行两个线程,可以做到微观并行。 多线程程序包含两条或两条以上并发运行的部分,程序中每个这样的部分都叫做一个线程(Thread)。每个线程都有独立的执行路径,因此多线程是多任务处理的一种特殊形式。

  多任务处理被所有的现代操作系统所支持。然而,多任务处理有两种截然不同的类型:基于进程的和基于线程的。

  1.基于进程的多任务处理是更熟悉的形式。进程(process)本质上是一个执行的程序。因此基于进程的多任务处理的特点是允许你的计算机同时运行两个或更多的程序。   举例来说,基于进程的多任务处理使你在运用文本编辑器的时候可以同时运行Java编译器。   在基于进程的多任务处理中,程序是调度程序所分派的最小代码单位。   2.而在基于线程(thread-based)的多任务处理环境中,线程是最小的执行单位。   这意味着一个程序可以同时执行两个或者多个任务的功能。   例如,一个文本编辑器可以在打印的同时格式化文本。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年08月19日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 进程-程序,线程-程序
  • 多线程的好处:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档