Javascript多线程引擎(七)

时间:2021-07-13 01:32:02

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

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

Javascript多线程引擎(七)

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

支持的语法格式为:

  var a = synchronized function(){

//被同步的代码段

};

synchronzied function hello(){

//被同步的代码段

};

var lock  = {};

synchronized(lock){

//根据对象同步代码

}

synchronzied(this){

//this 类型代码同步

};

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

如下是测试log:

Javascript多线程引擎(七)

  打印不会被中断.

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

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

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

  

项目地址为 :

github.com/darkgem/js-engine