【发布时间】:2016-05-17 19:12:32
【问题描述】:
我正在尝试开发一个自动股票交易应用程序,它将连接到经纪人、接收报价(报价)、处理报价并根据算法执行交易。 我想通过在一个单独的 DLL 中编写我的算法来实现这一点,该 DLL 将具有以下方法
void OnTick(Tick t)
{
// algorithm here
}
因为我想同时交易许多符号,我想在它自己的线程上为每个符号加载这个 DLL,并从流中传递正确的报价。 这个网站上有很多信息,其他人解决了如何从应用程序加载 dll,但我没有找到任何关于如何在不同线程上多次加载相同的 dll 并将参数传递给方法的信息。 我希望能够同时处理多个分时,并且能够在其他股票继续交易时禁用个别股票的交易。 这是设计我的应用程序的最佳方式吗?如果是这样,任何可以为我指明正确方向的信息或一些示例代码将不胜感激。
【问题讨论】:
-
你只加载一次dll,你可以从那个dll创建许多对象,每个对象都可以在一个线程中处理
-
@ScottChamberlain 感谢您提供的信息,如果我加载 dll 一次,我将如何在其他股票运行时禁用单个股票的交易?
-
使用
lock或SemaphoreSlim,dll与你的问题无关,这只是正常的线程。 -
@AlgoAlpha:您不能通过加载和卸载 DLL 来控制代码访问安全性,这既严厉又不安全。 .NET 框架具有内在支持您正在寻找的内容的内置功能......只是您以错误的方式执行此操作。查找代码访问安全性。
标签: c# multithreading dll