2 ghost feeling Ghost_Feeling 于 2016.03.17 21:55 提问

C#多线程的作用是啥?

刚工作没多久,在学校接触的都是普通代码操作,感觉写出来的代码执行效率好慢。于是想到了多线程,但是对于多线程还是半懂不懂,想找人帮忙梳理一下。
我对于多线程的理解是这样的,比如我现在代码的功能是操作一个word模板,模板里有多个表,每个表都需要遍历循环操作每个单元格。按照普通代码操作是循环遍历完一个表之后才能操作下一个表,而多线程的作用则是创建多个线程,每个线程同步循环遍历一个或多个表,在硬件设备支持的条件下,有多少个线程就相当于提高了多少倍的执行效率。
不知道这样的理解是对是错,一样有人帮忙解答一下!

2个回答

tmgfdzh
tmgfdzh   2016.03.17 22:54
已采纳

可以这么理解, 但是 在做异步处理时, 有时会出现资源冲突,比如说, 你说遍历表的时候,如果这个文件被之前的程序打开了, 那你新开的线程就无法再操作而报异常。
所以多线程并不是很有效率的办法,提高系统的效率要从你的算法入手,先对算法进行改进,比如在做大数据时, 可以考虑数据的压缩存储。

cmccmz
cmccmz   2016.03.18 10:18

多线程的好处是可以有效防止程序假死,看你怎么去运用。好多winform的程序是不允许跨线程访问的,要进行设置才行,但这样带来的负面就是安全问题,程序有可能会出现一些莫名的异常。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!