文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

我们聊聊单核可以实现多线程吗?

2024-11-30 01:35

关注

一、计算机如此复杂和强大的原因

了解过计算机和操作系统历史的人应该很快就能发现,计算机之所以会变得如此复杂和强大完全是“单核多任务”的实现与不断扩展导致的。计算机就是因为要实现“单核多任务”而变得复杂的,同时也是因为实现了“单核多任务”变得强大,然后在对“单核多任务”的不断扩展中变得更加强大。比如操作系统在最开始就只是个简单的“批处理系统”,本质就是个多任务管理工具,且是非并发的。

开始的计算机虽然庞大,但是远没有今天体积小得多的计算机强大和复杂。为啥呢?因为它处理的任务非常单一,而且并发性也很低。开始时就根本没有并发,只能执行最基本的纯数学计算,在彻底完成一个计算任务前无法开始第二个任务,就算开始第二个任务都要人来辅助操作。而其复杂化则是随着任务之自动推进的实现,以及进一步“并发”的实现开始跨越式发展的。

而所谓“单核实现多线程”的本质是啥呢?本质不就是“单核多任务”吗?只是这个“任务模型”比传统的“进程模型”颗粒更小了一点,从而进一步增加并发提升效率,对计算机的“单核多任务”这个核心模型而言,仅仅是量变,这为啥不能支持?答案当然就是支持。

二、计算机硬件与软件的依赖关系

不同软件对硬件的依赖程度区别很大,依赖最强的就是“固件”,它随硬件的生产一起被烧录在硬件上,一度只能读不能写,后面即使可以改动也要用“非常”手段,这种软件显然受硬件影响最大,典型的比如BIOS系统。但还有一种软件,其存在就是为了“无视硬件区别”的,卖点就是“跨平台”,它受硬件的制约就非常小,比如Java程序。

“单核”其实描述的是一种“硬件状态”,而“多线程”是一种软件机制,而且是很“软”那种,其实现离“硬件的细节”距离很远,受硬件的影响很小,与硬件是一种“解耦”状态,是“跨平台”的。就像学习汇编指令一般都会参照某个具体的机型进行,因为它是一种与硬件依赖性很强的软件,但是学进程或者线程这种任务机制,你有见过哪本教材要强调“机型”吗?

为啥不强调呢?当然就是与其无关或不受其影响,既然不受其影响,当然就是单核也好多核也罢,多线程机制都无所谓,都可以基于它们进行实现。

三、总结

最后补充一点的就是,本文为了方便说明,直接援引了别人的提问方式,而严谨的说法不应该是“单核可以实现多线程吗?”,而是“单核支持多线程吗?”,因为多线程就不是“核”这个硬件实现的,而是一种纯软件的实现。

来源:Web学社内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯