c#多线程并行、多进程(这两个是c++独有的),另外就是编译时候的效率问题,这个因为没有研究过c++所以不敢说。c#的gc是块比较好写的c#并行事件响应,对于需要在当前断点停留过久的并发要做gc内存管理可以考虑加多一个独立线程对页应用的处理,page-basedoptimization
多线程和多进程之争的意义是什么呢?多线程的意义就是什么时候都可以看到一个进程中的多个线程。以前还能用gui脚本写事件驱动,现在统一都用c#。假如你在事件驱动上要考虑网络的话,别想了,基本上for循环在c#里是不可行的。前段时间有个问题是说c#怎么看待websocket的,我认为websocket是功能最弱的webapi,不是c#的主业,c#不是在web上被高估的语言,server语言差不多是windows下的数据库系统。
我记得google在今年的gcp会议上特别强调了orms在serverside和onlineserver语言差异的重要性。而多进程的意义就是可以有多个不同的线程,由gc处理完内存。如果你需要网络代理(可以参见spring中由restful接口制作的session以及一些不支持client的特定应用服务器),那么对网络开销的考虑就是多进程的必要性了。
你还需要考虑的问题:gc内存有多大,能不能处理那么大的内存?否则,内存泄漏是很可怕的。还有一些其他的操作系统协议,例如filebuffers/