是这样,我用WPF写了一个项目,其中利用async await Task.run去process.Start一个处理大量数据的exe程序,这个exe是用C++写的,跑的快嘛。
bug来了,处理有些数据的时候是正常的,有的就会卡住,比如100数据文件,会在处理到N个数据的时候CPU占用率会下去,然后不生成处理后的数据了。当我把WPF这个主线程关掉之后,之前执行exe又会在后台接着执行,CPU占用率又上去了。
如果是特定数据问题,那么单用cmd执行exe又会成功,如果是我在WPF中调用问题,那么有些数据又可以成功执行
真的好奇怪啊,怀疑是C#和C++的兼容性问题,我搭档用Qt编写一个简单界面按一个按钮在执行有问题的数据时,成功执行。
bug来了,处理有些数据的时候是正常的,有的就会卡住,比如100数据文件,会在处理到N个数据的时候CPU占用率会下去,然后不生成处理后的数据了。当我把WPF这个主线程关掉之后,之前执行exe又会在后台接着执行,CPU占用率又上去了。
如果是特定数据问题,那么单用cmd执行exe又会成功,如果是我在WPF中调用问题,那么有些数据又可以成功执行
真的好奇怪啊,怀疑是C#和C++的兼容性问题,我搭档用Qt编写一个简单界面按一个按钮在执行有问题的数据时,成功执行。