目前,我感觉我过度使用了多线程。
我有3种数据,A,B和C。
每个A
都可以转换为多个B
,每个B
都可以转换为多个C
。
我只对C
s有兴趣。
我可以使用几个转换函数轻松地编写此代码。但我回过神来与线程执行它,三个队列(queue_a
,queue_b
和queue_c
)。有两个线程进行不同的转换,一个工作线程:
ConverterA
读取queue_a
和写入queue_b
ConverterB
读取queue_b
和写入queue_c
Worker
处理来自queue_c
转换相当平凡,我不知道这个模型是否太复杂了。但这对我来说似乎非常强大。每个“转换器”甚至可以在数据到达队列之前就开始工作,并且在代码中的任何时候我都可以“提交”新的A
s或B
s,它将触发转换管道,这反过来又将触发工作人员的工作。线。
甚至生成的代码看起来也更简单。但是我仍然不确定我是否在为简单的事情滥用线程。