课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
我们在上文中给大家简单介绍了java编程开发中线程的发展趋势等知识点,而今天我们就再来学习一下,java编程线程与进程的应用区别。
1、什么是进程
进程就是说在系统中正在运行的应用程序,程序一旦运行就是进程,比如我们常用的QQ,WeChat等等,进程是系统进行资源分配的独立实体,每个进程都有自己独立的地址空间,一个进程可以有多个线程,每个线程使用自己所属进程的栈空间。
2、什么是线程
线程是程序执行的小单位,它被包含在进程之中,是进程中的实际运作单位。一条线程指的是一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务,通常也被称为轻量进程。
3、什么是纤程
纤程(Fiber)包含独立的目态栈,寄存器状态的控制信息,目态控制的纤程转接要求较高的编程经验,由于纤程属于目态对象,一个纤程被封锁意味着所在线程被封锁,应用程序可以通过ConvertThreadToFiber将线程转换为纤程,与线程对比,纤程具有切换速度快的特点。
纤程具有的特征
线程是在Windows内核中实现的,操作系统会根据系统的调度算法对线程进行调度。
纤程是在用户模式下实现的,内核对纤程一无所知。
纤程是更轻量级的线程,一个线程可以包含一个或多个纤程
4、什么是线程的切换
什么是线程的上下文切换?:
多线程的上下文切换是指CPU控制权由一个已经正在运行的线程切换到另外一个就绪并等待获取CPU执行权的线程的过程。
5、单核CPU设定多线程是否有意义
通常一个任务不光cpu上要花时间,io上也要花时间(例如去数据库查数据,去抓网页,读写文件等)。一个进程在等io的时候,cpu是闲置的,另一个进程正好可以利用cpu进行计算。多几个进程一起跑,可以把io和cpu都跑满了。
现在一般都是虚拟资源,资源有弹缩机制,所以一般该跑多线程的时候就可以跑多线程。
6、工作线程数是不是设置的越大越好
当然不是,线程的切换也是需要消耗资源的,越多意味着线程来回之间的切换。
希望这辈子,最让你无悔的事情就是来达内学习!学习向来不是件易事,但无论过程多么艰难,希望你依然热爱生活,热爱学习!永远记得,达内将与你一同前行!现在扫码,立即领取万元课程礼包,助力0基础快速入行,为你梳理行业必备技能,全方位了解岗位发展前景!
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请在707945861群中学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。