我有两个不同的C#应用程序同时运行.
我希望他们两个能够访问DLL的同一"实例"(也在C#中).
DLL保存了一些我想要返回到两个应用程序要求的数据.
我的DLL是线程安全的,所以我希望这是可能的,但我不知道如何.
任何帮助或建议将不胜感激.
我正在使用Visual Studio 2008 Express,我希望Visual Studio(或者可能是一个插件)将我的整个项目保存到某种自动递增存档或任何可以帮助我从灾难中恢复的存档.我不太需要SVN或复杂的版本控制系统.我只是在寻找简单而精益的东西.
任何帮助将非常感激.
珍妮
PS:我研究了内置的自动恢复功能,但它似乎不会保存多个文件.
我正在处理一个图像处理应用程序,我的主线程上有两个线程:
1 - CameraThread,用于捕获网络摄像头中的图像并将其写入缓冲区
2 - ImageProcessingThread,从该缓冲区获取最新图像进行过滤.
这是多线程的原因是因为速度是至关重要的,我需要让CameraThread继续抓取图片并使ImageProcessingThread在处理上一张图像时准备好接收最新的捕获.
我的问题是找到一种快速且线程安全的方式来访问公共缓冲区,我认为理想情况下,它应该是一个三重缓冲区(图像[3]),这样如果ImageProcessingThread很慢,那么CameraThread可以继续写在另外两个图像上,反之亦然.
什么样的锁定机制最适合这种线程安全?
我查看了锁定语句,但似乎它会使一个线程阻塞 - 等待另一个完成,这将是三重缓冲点.
提前感谢任何想法或建议.
J.
我正在开发一个应用程序来处理由Point Grey相机(http://www.ptgrey.com/)实时捕获的图像.Point Grey SDK是一个.net包装器,可以是32位或64位.
然后为了处理捕获的图像,我正在使用一个名为Emgu CV(http://www.emgu.com/)的openCV包装器,它也有32位或64位版本.
现在,在Vista64上,我选择了64位版本的FlyCapture(Point Grey的SDK)和Emgu CV(其中包括openCV),希望能够最大限度地提高性能.
最近我一直想从XNA调用我的FlyCapture + Emgu DLL代码,遗憾的是只存在于32位,我意识到我可能不得不重新安装32位的所有组件,因为我真的不想通过IPC,远程等
除了对32bit固有的内存空间的明显限制之外,我还应该期待性能损失吗?这有多么戏剧化,为什么?
提前感谢任何建议或解释.