【问题标题】:Load DLL from multiple threads in C# application [closed]从 C# 应用程序中的多个线程加载 DLL [关闭]
【发布时间】:2016-05-17 19:12:32
【问题描述】:

我正在尝试开发一个自动股票交易应用程序,它将连接到经纪人、接收报价(报价)、处理报价并根据算法执行交易。 我想通过在一个单独的 DLL 中编写我的算法来实现这一点,该 DLL 将具有以下方法

void OnTick(Tick t)
{
  // algorithm here 
}

因为我想同时交易许多符号,我想在它自己的线程上为每个符号加载这个 DLL,并从流中传递正确的报价。 这个网站上有很多信息,其他人解决了如何从应用程序加载 dll,但我没有找到任何关于如何在不同线程上多次加载相同的 dll 并将参数传递给方法的信息。 我希望能够同时处理多个分时,并且能够在其他股票继续交易时禁用个别股票的交易。 这是设计我的应用程序的最佳方式吗?如果是这样,任何可以为我指明正确方向的信息或一些示例代码将不胜感激。

【问题讨论】:

  • 你只加载一次dll,你可以从那个dll创建许多对象,每个对象都可以在一个线程中处理
  • @ScottChamberlain 感谢您提供的信息,如果我加载 dll 一次,我将如何在其他股票运行时禁用单个股票的交易?
  • 使用lockSemaphoreSlim,dll与你的问题无关,这只是正常的线程。
  • @AlgoAlpha:您不能通过加载和卸载 DLL 来控制代码访问安全性,这既严厉又不安全。 .NET 框架具有内在支持您正在寻找的内容的内置功能......只是您以错误的方式执行此操作。查找代码访问安全性。

标签: c# multithreading dll


【解决方案1】:

你只加载一次dll,你可以从那个dll创建许多对象,每个对象都可以在一个线程中处理

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-06
    • 2010-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多