当前位置: 首页 > news >正文

网站建设报价模块上海营销seo

网站建设报价模块,上海营销seo,qq登录账号在线登录入口,wordpress代码编辑插件下载文章目录什么是进程什么是线程上下文切换多线程一定比串行执行快吗进程与线程的区别与联系什么是进程 进程的定义:进程是正在运行的程序实体,并且包括这个运行的程序中占据的所有系统资源,比如说CPU(寄存器),IO,内存&a…

文章目录

  • 什么是进程
  • 什么是线程
  • 上下文切换
  • 多线程一定比串行执行快吗
  • 进程与线程的区别与联系

什么是进程

进程的定义:进程是正在运行的程序实体,并且包括这个运行的程序中占据的所有系统资源,比如说CPU(寄存器),IO,内存,网络资源等。

但这些定义十分抽象,可以打开任务管理器来查看进程
在这里插入图片描述
操作系统中的一个exe程序就可以认为是进程

什么是线程

线程的定义:线程是指进程中的一个执行流程,一个进程中可以运行多个线程。

线程可以理解为进程执行中的一些子任务,这些线程各自执行一些任务,才构成了一个完整的exe程序(进程).
因此 先有进程,后有线程,进程中可以创建多个线程,至少有一个线程,但不能没有线程
进程负责向操作系统申请资源,在一个进程中,多个线程共享相同的内存和文件资源.

上下文切换

即使是单核处理器也支持多线程执行代码,进行并发编程时,CPU会不断地切换线程执行.但是切换的时间很快,因此我们是感知不到线程是切换的
CPU通过时间分配算法来循环执行任务,当执行一段时间后切换到另一个任务.在切换之前,需要保存上一个任务执行的状态,以便下次切换回来的时候,再加载这个任务的状态,可以接着上次切换前的状态继续往下运行,任务从保存到再加载的过程就是一次上下文切换

减少上下文的方法有:无锁并发编程 CAS算法 使用最少线程和使用协程

多线程一定比串行执行快吗

通过以下简单的示例即可验证:

public class Example3 {private static final long count = 10000001;public static void main(String[] args) {concurrency();serial();}private static void concurrency(){long start = System.currentTimeMillis();// 记录程序开始运行的时间Thread thread = new Thread(()->{int a = 0;for (long i = 0; i < count; i++) {a++;}});thread.start();int b = 0;for (long i = 0; i < count; i++) {b++;}try {thread.join();// 等待线程结束} catch (InterruptedException e) {throw new RuntimeException(e);}long end = System.currentTimeMillis();// 记录结束时间System.out.println(end-start);}private static void serial(){long start = System.currentTimeMillis();int a = 0;for (long i = 0; i < count; i++) {a++;}int  b = 0;for (long i = 0; i < count; i++) {b++;}long end = System.currentTimeMillis();System.out.println(end-start);}
}

通过改变count的值,来观察它们运行时间的差距即可
因此很容易得出结论: 多线程不一定比串行执行快 只有当数据量足够多时,多线程才比串行执行快
这是因为线程在创建以及进行上下文交换时有一定的开销.

进程与线程的区别与联系

  1. 在启动线程时,只有第一个线程的开销比较大,后面的开销就很小了
  2. 在不支持线程的操作系统中,进程既是资源分配的基本单位,也是调度的基本单位;在拥有线程的操作系统中,线程是调度的基本单位,而进程是资源分配的基本单位。
  3. 进程虽然是独立的,但它们之间可以相互通信
  4. 线程在进程中,属于子集关系
  5. 虽然线程很轻,但是线程之间的上下文切换时间成本很高
http://www.zhongyajixie.com/news/2896.html

相关文章:

  • 十堰h5网站建设温州网站建设开发
  • 大连手机自适应网站建设维护广告联盟广告点击一次多少钱
  • 重庆网站空间上海网络营销
  • b2c 网站开发白帽seo公司
  • 张家港做网站优化排名百度西安
  • 网站开发教育培训天津seo标准
  • 你做的网站可视区域多少钱贵阳百度快照优化排名
  • wordpress网站建小程序seo网络推广专员
  • 做箱包批发哪个网站好网络营销的优势有哪些
  • z blog与wordpress百度搜索引擎优化指南最新版
  • 做两个一摸一样的网站深圳网络运营推广公司
  • 免费网站建设价格费用谷歌 google
  • 南宁网站建设报价百度seo建议
  • 做网站用哪个服务器好营销技巧
  • 郑州天道做网站云南今日头条新闻
  • 电脑报网站建设搜索热度和搜索人气
  • 打开一个网站搜索页面跳转js最近的大新闻
  • 襄阳做网站的公司有哪些提高工作效率的重要性
  • 建筑公司网站源码 开源 免费seo快速优化报价
  • 学做网站论坛课程360广告联盟平台
  • 德州做网站的公司今日财经最新消息
  • 网站 要强化内容建设谷歌浏览器官网
  • 体育php网站源码如何推广自己的店铺
  • 白银网站模板网址搜索域名查询
  • 蒙牛网站建设报价情况杭州网站建设公司
  • 如何用手机建网站新闻稿件代发平台
  • 海淀中小企业网站开发网页查询
  • 企业门户网站开发任务书百家号关键词排名优化
  • 北京营销网站制作新闻最近的新闻
  • 网站建设查看框架的源代码色盲测试图片60张