我正在Libreoffice Calc中编写一个用户定义的函数,该函数执行的计算可能需要10秒钟以上。例如,它可能是一个复杂的计算,或者它可能查询需要时间来响应的服务器。我在其他单元格中具有类似的公式,并且Libreoffice一直挂起,直到这些单元格中的每个单元格返回一个值。因此,总共可能要花费一些时间。是否可以编写一个用户定义函数来启动计算过程,但在计算时不冻结Libreoffice?
例如,第一次运行用户定义函数时,它可能会返回“计算中...”,然后完成时,它可能会用实际值更新单元格。我已经在Excel中看到了实现此目的的插件(也许是一种限制,即UDF只能将值返回到调用它的单元格的限制吗?)。
我不确定这部分是否是回答问题的必要,但是我的用户定义函数是Python代码的包装器。
只是抛出一些随机的想法,但是也许有一种使用多线程或OpenCL的方法吗?