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

如何建设企业电子商务网站seo交互论坛

如何建设企业电子商务网站,seo交互论坛,网站开发的项目实战,北京网站建设++知乎文章目录什么是进程什么是线程上下文切换多线程一定比串行执行快吗进程与线程的区别与联系什么是进程 进程的定义:进程是正在运行的程序实体,并且包括这个运行的程序中占据的所有系统资源,比如说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.ds6.com.cn/news/17478.html

相关文章:

  • 自己做的网站做登录武汉关键词seo排名
  • 北京做网站个人优化深圳seo
  • 南平网站建设宁波网站seo诊断工具
  • b2b网站建设费用舆情信息报送
  • 美食网站开发的难点seo网站排名优化公司
  • 如何注册网站免费的吗seo优化工程师
  • 辽宁专业模板网站建设公司360推广平台登录入口
  • 做外贸如何浏览国外网站网络营销个人感悟小结
  • 做公司的网站有哪些国外常用的seo站长工具
  • 论坛网站建设费用网站友链
  • 新吴区推荐做网站公司电脑培训学校
  • 电子商务网站推广方法科学新概念seo外链
  • 开发员给我用织梦做的网站怎么买到精准客户的电话
  • 怎么给网站做超链接教育培训机构招生方案
  • 万网网站建设方案书 备案百度一下官方网站
  • 敦煌网站销售员怎么做永久免费个人网站申请注册
  • 展台设计灵感网站广告营销的经典案例
  • 怎样自己做网站推广如何网络推广
  • 重庆游戏网站开发应用商店下载
  • 龙华区住房和建设局网站官网每天三分钟新闻天下事
  • 香港主机做擦边球网站长尾关键词排名工具
  • 祖庙网站建设百度收录的网站多久更新一次
  • 用织梦模板做网站东莞网络营销推广公司
  • 深圳网站开发报价在线外链推广
  • durable创建网站抖音搜索关键词排名
  • 无锡定制网站建设app线上推广是什么工作
  • 可做外链的网站关键词看片
  • 学做网站什么语言合适东莞网站建设最牛
  • 公司起名字大全免费2个字郑州seo哪家专业
  • java网站开发文档撰写西安网站seo诊断