Javascript多线程引擎(七)

本文介绍了Javascript引擎中实现的多线程与synchronized关键字的支持情况。通过多种同步方式,如变量、函数、对象锁及this锁,展示了如何在JS中实现线程同步,并讨论了与Java相似的同步模型。

Javascript多线程引擎(七)--synchronized关键字

  经过两天的努力, 今天synchronzied关键字终于支持了, 如下是测试代码

    

  thread() 是一个开启新线程的API, 后期会提供一个完整的Thtread 类, 现在就简单的使用把  ^_^

  支持的语法格式为:

  var a = synchronized function(){

             //被同步的代码段

     };

      synchronzied function hello(){

        //被同步的代码段

     };

    var lock  = {};

     synchronized(lock){

     //根据对象同步代码  

 

    }

   synchronzied(this){

   //this 类型代码同步

   };

   这基本的四种同步方式,  和Java类似.

  如下是测试log:

               

  打印不会被中断.

  这样子, 整个引擎就基本实现了类似java的同步模型, 并且提供了NIO API接口 , 具体可以看setTimeout() API。  

  为什么要提供synchronzied 和多线程呢? 仅仅是为了 给服务端开发的时候提供更多的选择, 可以像Node.js 一样单线程+NIO, 也可以是Java多线程+阻塞

更可以像Java多线程+阻塞+NIO。 ^_^

  

     项目地址为 :

                 github.com/darkgem/js-engine

      

转载于:https://www.cnblogs.com/tickobject/p/3627158.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值