我正在编写一个应该高效且易于使用的 .NET 4.0 库。
该库通过引用它并使用它的不同类来使用。
我应该使用 .NET 4.0 任务来提高内部效率吗?我担心这可能会使库的使用更加复杂和受限,因为用户可能希望自己决定何时何地使用任务和线程。
如果您的答案取决于图书馆的种类,这里有更多信息:
只有当用户可以“看到”线程时,这才是一个问题,即您授予对另一个线程(由您)可以访问的数据的访问权限。可能不是一个好主意。
但是,当并行处理完全保留在您的应用程序中时,您的用户反对的可能性就很小了。
应该?不知道。通过提供对库使用任务并将其推送到单独的 DLL 中的扩展方法来为人们提供一个选项怎么样?如果您想使用任务,请参考扩展库并发疯。否则,坚持使用核心 dll。
我相信有很多项目使用 Linq 遵循这种模式。他们提供了他们的核心库和一个单独的.Linq.DLL,它具有扩展方法......