本机线程与绿色线程

本机线程与绿色线程

对于许多程序员来说,理解多线程程序一直是大肆宣传。 编写多线程程序时始终要考虑许多方面。

绿色线程与本地线程

程序员可能没有意识到绿色线程与本地线程之间的差异。 这两种机制都是实现“多线程程序”的方式。 通常是实现绿色或本机线程的是编译器/解释器变体。

另一方面,本机线程使用操作系统线程功能来执行多线程程序,绿色线程模拟多线程而不使用操作系统的基础功能。 绿色线程也称为“合作线程”,其中每个进程相互协作以模拟多线程环境。

在多核机器上执行

本机线程的另一个优点是,多个进程将在多核计算机中并行执行。 另一方面,绿色线程始终在单个内核上执行,而VM则提供了多线程的概念。 因此,实际上只有在执行绿色线程的情况下才执行singe。

Craft.io调度

本机线程使用OS调度算法。 现代操作系统支持抢先式调度。 绿线程可以使用任何类型的调度算法。 同步与资源共享

本机线程通常具有复杂的同步和资源共享。 多个进程将需要内核级锁来进行同步。 在绿色线程的情况下,同步非常容易。

参考: Janeve.Me博客中我们的JCG合作伙伴 George Janeve的本地线程与绿色线程


翻译自: https://www.javacodegeeks.com/2012/07/native-vs-green-threads.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值