27得票1回答
异步和等待关键字不会导致额外的线程被创建?

我感到困惑。一个或多个Task如何在单个线程上并行运行?我的理解显然是错误的。并行性的一些细节我无法理解,其中包括MSDN中的以下内容: “async”和“await”关键字不会创建额外的线程。异步方法不需要多线程,因为异步方法不在自己的线程上运行。该方法在当前同步上下文上运行,并且仅在方法...

27得票3回答
如何在Java中强制子类设置变量?

我有一个类,定义了给定屏幕的所有基本参数。从这里开始,应用程序中的每个屏幕都是此类的子类。我需要每个屏幕(即子类)在其实现中设置变量的值(即,每个屏幕必须定义其在导航树中的级别)。 此外,理想情况下,当子类设置变量时,该变量应该是final(我意识到这可能不可能)。 如何最好地解决这个问题...

24得票3回答
在通用哈希表中查找项目?

如果项目是随机组织的,那么表格如何知道从哪里开始查找呢? 在一个非随机表格中,项目是根据某些特征进行组织的(例如姓名)。因此,如果表格需要查找有关“约翰”​​的任意信息,它可以从“J”桶开始查找。 然而,在通用哈希表中,项目是随机排列的。没有定义的特征。因此,要查找有关“约翰”的任意信息,...

22得票3回答
为什么方法引用不是单例?

以下Java代码在两个查询中都返回false。为什么?方法引用不是应该是单例的吗?这肯定会让附加和分离侦听器变得更简单。目前需要为任何需要等价检查的方法引用保留一个常量,您不能仅在每个必要位置使用方法引用运算符。public class Main { public Main() { ...

22得票3回答
I/O性能 - 异步 vs TPL vs Dataflow vs RX

我有一段生成大量网络和磁盘I/O的C# 5.0代码,需要并行运行多个副本。以下哪种技术可能会给我最好的性能: 使用await的async方法 直接使用TPL中的Task TPL Dataflow nuget 响应式扩展 我对这个并行化的东西不是很擅长,但如果使用像Thread这样的低级...

18得票3回答
为什么我们需要使用ContinueWith方法?

为什么我们需要 Task.ContinueWith() 方法?我们不能把“后续代码”直接写在 Task 主体中吗?

16得票4回答
一个打开多个文档(项目)的应用程序架构

我正在开发一个基于Qt的CAD应用程序,尝试弄清楚应用程序的架构。该应用程序能够加载多个具有平面图、剖面图等的项目,并在专门的视图中显示这些绘图。有每个项目和全局配置。 该应用程序由从 QApplication 派生的全局对象表示:class CADApplication Q_DECL_FI...

15得票2回答
将逻辑(C++)和GUI(Qt)分离的概念及基本问题

我用C++完成了一个控制台应用程序,使用CodeBlocks创建。虽然在本问题的范围内不太重要:该应用程序管理一家小公司的账单和客户数据。程序是完整的,并且可以通过控制台用户界面轻松扩展(现在,我以程序员身份运行它)。 现在我决定使用Qt和其QtDesigner学习GUI编程! 不仅因为在...

15得票2回答
SQL与NoSQL:除了ACID和可扩展性之外还有哪些问题需要考虑?

我最近阅读了一些关于SQL和NoSQL的文章,从两个方面来描述它们,例如http://use-the-index-luke.com/blog/2013-04/whats-left-of-nosql。这些文章经常涉及ACID和可扩展性等主题。然而,我通常对SQL有一些问题,但这些问题似乎很少在这...

15得票3回答
为什么在数据库字段上添加索引可以加速对该字段的搜索?

我对数据库还比较陌生,但已经了解到在需要搜索的字段上添加索引可以极大地加快搜索时间。我明白这个道理,但想知道它是如何实现的。我在这个问题上进行了一些搜索,但没有找到任何好的、简洁明了且不过度技术化的答案。 我读过一篇类比,描述它就像书后索引,但在数据字段中包含唯一元素(例如用户数据库中的电子...