Javascript多线程引擎(七)

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