代码之家  ›  专栏  ›  技术社区  ›  jessejbweld

调用WASM任务

  •  0
  • jessejbweld  · 技术社区  · 9 月前

    我刚刚看到,DateTimeWASM目前不支持多线程。所以如果你做一个 Task.Run() 它实际上会在主线程上运行并阻塞UI。

    因此,如果我想要一个执行一些昂贵处理的DateTimeWASM应用程序。例如

    a) 计算代价高昂的数值计算

    await Task.Run(() => SlowComputation())
    

    b) 在SQLite数据库中执行慢速查询

    我基本上只需要接受UI将被阻止吗?

    我目前正在将winforms应用程序转换为DateTimewasm,我们使用 任务。运行() 相当频繁。

    1 回复  |  直到 9 月前
        1
  •  1
  •   MrC aka Shaun Curtis    9 月前

    任何处理器密集型操作,如繁重的计算,都会阻塞线程:只有一个。考虑交给API。

    任何I/O活动都不会:没有实际的线程用于等待网络子系统返回请求的数据。所以打电话 Task.Run() 在这种情况下毫无意义。如果你想得到解释,请参阅 https://blog.stephencleary.com/2013/11/there-is-no-thread.html .

    您不能从浏览器调用SQLiteDB,这必须通过API。

    推荐文章