所以,我正在阅读有关nodejs的一些内容,当我遇到Worker Threads时,我感到非常惊讶.
在我看来,拥有线程是一个很好的加分,特别是如果你将它与共享内存访问结合起来.你可能已经想过了 - > SharedArrayBuffer......
是的,这就是我的想法.所以我想到的第一件事就是给它一点测试并尝试实现一个简单的store(现在是一个简单的对象),它将在线程之间共享.
问题是,(除非我在这里遗漏了一些东西)如何使用SharedArrayBuffer?从n个线程中访问对象?
我知道,对于一个简单的Uint32Array是可行的,但对于对象可以做什么?
起初我想把它转换Uint32Array成你可能会看到的声音,但即使看着该死的源代码也让我想哭...
const {
Worker,
isMainThread,
workerData
} = require('worker_threads');
const store = {
ks109: {
title: 'some title 1',
description: 'some desciption 1',
keywords: ['one', 'two']
},
ks110: {
title: 'some title 2',
description: 'some desciption 2',
keywords: ['three', 'four']
},
ks111: {
title: 'some title 3',
description: 'some desciption 3',
keywords: ['five', 'six']
}
}
const shareObject = (obj) …Run Code Online (Sandbox Code Playgroud)