gpt4 book ai didi

wpf - 在单独的线程上从 Excel 读取 WPF 应用程序的性能不佳

转载 作者:行者123 更新时间:2023-12-03 13:21:55 29 4
gpt4 key购买 nike

我的项目中有一些代码使用 Excel COM API 读取和写入 Excel 2003。现在这段代码从两个地方调用:
1. 从 Excel 加载项本身,在同一个线程上。
2. 从 WPF 应用程序中,其中 WPF 窗口是在单独的线程上调用的。

问题是,当 WPF 应用程序调用代码时,从 Excel 读取应该需要 10 秒的正常操作需要 2 分钟。我认为这是因为来自新线程的调用,但我不是 100% 确定。

有任何想法吗?

最佳答案

你有很多事情需要考虑:

  • COM API 可能会启动 Excel 进程。启动该过程并等待它准备好需要时间。
  • 可能跨越了进程边界,这比进程内的东西慢。
  • 您可能陷入了在代码中创建的 COM 对象的线程关联性陷阱。它们可能与创建它们的线程有关联,这意味着即使您在另一个线程上使用 COM 对象,该代码的实际运行也会被编码回对象的拥有线程。然而,这应该是显而易见的,因为如果代码足够密集,您的 UI 将会卡顿。

  • 抱歉,这不是一个直接的答案,但它提供了一些值得探索的地方。

    关于wpf - 在单独的线程上从 Excel 读取 WPF 应用程序的性能不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6030549/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com