小编Web*_*ght的帖子

C++11 动态线程池

最近,我一直在寻找一个用于线程并发任务的库。理想情况下,是一个在线程上调用函数的简单接口。任何时候都有 n 个线程,有些线程完成得比其他线程快,并且到达的时间不同。

首先我在尝试 Rx,它在 C++ 中很棒。我还研究了 Blocks 和 TBB,但它们都依赖于平台。对于我的原型,我需要保持平台独立,因为我们还不知道它将在什么上运行,并且可以在做出决定时进行更改。

C++11 有很多关于线程和并发的东西,我发现了很多类似线程池的例子。

https://github.com/bilash/threadpool

类似的项目对 std::thread 和 std::mutex 使用相同的 lambda 表达式。

这看起来非常适合我的需要。有一些问题。池以定义数量的线程启动,任务将排队,直到线程空闲。

如何添加新线程?删除过期的线程?(。加入()??)

显然,这对于已知数量的线程要容易得多,因为它们可以在 ctor 中初始化,然后在 dtor 中 join()。

有 C++ 并发经验的人在这里有什么提示或指示吗?

c++ multithreading

7
推荐指数
1
解决办法
5888
查看次数

从 json 对象而不是 json 加载 Tensorflowjs

我正在尝试使用 model.json 加载 Tensorflowjs 模型,该模型是内存浏览器端对象。

https://js.tensorflow.org/api/latest/#loadLayersModel

一种方法可能是从虚拟 fetch 方法返回 json。

fetchFunc (Function) 用于覆盖 window.fetch 函数的函数。

或者,也可以创建自定义 IOHandler,但关于此的文档很少。

一个 tf.io.IOHandler 对象,它用它的 load 方法加载模型工件。

有谁知道如何使用 tensorflow 加载方法来实现这一点?

var modelJson = "{...ModelAndWeightsConfig}";

//Do something here to load it.

var newModel =  tf.loadLayersModel("/model_0/model.json", {
                    onProgress: onProgressCallback}).then(model =>{});
Run Code Online (Sandbox Code Playgroud)

问候,

javascript json tensorflow.js

2
推荐指数
1
解决办法
1108
查看次数

Javascript WebWorker - 异步/等待

我正在尝试卸载阻止我的 UI 的长时间运行的进程。

WebWorker 方法似乎是解决这种情况的最佳方法。

但是,我需要使用的库之一具有 async/await。

WebWorker 具有有限的 JS API,并且似乎没有 async/await。

有没有办法在 WebWorker 中使用 Promises?

错误

参考错误:__awaiter 未定义

问候,

丹尼尔

更新:

添加 __awaiter 导致无法识别 Promise。

var __awaiter =
        (this && this.__awaiter) ||
        function(thisArg, _arguments, Promise, generator) {
            return new Promise(function(resolve, reject) {
                generator = generator.call(thisArg, _arguments);
                function cast(value) {
                    return value instanceof Promise && value.constructor === Promise
                        ? value
                        : new Promise(function(resolve) {
                                resolve(value);
                          });
                }
                function onfulfill(value) {
                    try {
                        step('next', value);
                    } catch (e) {
                        reject(e);
                    } …
Run Code Online (Sandbox Code Playgroud)

javascript web-worker async-await

0
推荐指数
1
解决办法
4767
查看次数