永发信息网

c#中多进程可用多线程代替吗?

答案:2  悬赏:60  手机版
解决时间 2021-03-21 17:25
c#中多进程可用多线程代替吗?什么时候用多线程,什么时候用多进程
最佳答案
进程和线程是两个概念,宏观来看,进程要比线程的颗粒度大。

一个exe,就是一个独立的进程。
而一个程序(进程),可以拥有无数多个线程。
举个例子, 打开一个Visual Studio就是一个进程, 里面的所有子功能则是一个个的线程。

所以如果是开发项目,需要多个程序之间相互调用,相互协作,那么会用到多进程开发,
如果是一个项目需要并行工作几个功能,那么多线程就可以解决问题。
全部回答
ui线程都阻塞了,整个form都停掉了,里面的控件怎么能动呢,没有办法达到你的要求。你想要实现什么功能呢?非要阻塞ui线程吗?这样对用户很不友好。 private void button1_click(object sender, eventargs e) { methodinvoker me = new methodinvoker(pause); me.begininvoke(null, null); //这是异步委托调用,说白了还是开了一个单独的线程 } private void pause() { thread.sleep(3000); textbox1.text += "bbbbbbbbbbbb!\n"; } 如果你要做的事情会阻塞主线程一个时间段的话,建议你还是开一个线程去做,ui线程的阻塞就意味着form内的一切控件都会停下来等,用户界面就回出现“卡死”,这是没有办法阻止的。你看看下面这段话吧(摘自谋篇文章): 软件界面的响应特性是判断一款软件的非常重要的方面。一般来说,不管你软件功能做得有多么奇妙,如果软件有一点点死机的感觉都会让用户感到很讨厌,甚至怀疑你软件里是否藏有更大的问题。 要提高界面的响应特性,最好的办法莫过于使用多线程,并把呈现界面的线程独立出来。以前只有使用c++才能实现的多线程功能,现在在.net框架下,所有的语言(包括vb)都可以使用了。不过,使用多线程比使用单一线程要麻烦得多,比如线程之间的同步问题,做得不好很容易出错,而有的时候这种错误要开发人员花上几个星期的时间才能找到。在windows form软件中使用多线程更是有一些限制。 下面我们就把在windows form软件中使用多线程要注意的问题给大家做一个介绍。 首 先,什么样的操作需要考虑使用多线程?总的一条就是,负责与用户交互的线程(以下简称为ui线程)应该保持顺畅,当ui线程调用的api可能引起阻塞时间超过30毫秒时(比如访问cd-rom等速度超慢的外设、进行远程调用等等)就应该考虑使用多线程。为什么是30毫秒?30毫秒的概念是人眼可以察觉到的一个迟滞,大约等同于电影里的一帧停留的时间,最长不要超过100毫秒。 所以啊,多线程才是王道。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
小孩子睡觉时身上很烫,额头又还好,鼻子老是
过十天回老家看看,想给家里弟弟妹妹买东西,
大家旺综合商行我想知道这个在什么地方
步步高手机全国免费服务电话
在香港如何充值?联通的。
用神,喜神,吉神,怎么区分,我想取名字用,
求音乐:歌词含风里看雪雾里看花的一首粤语歌
(20分)在我国,法律法规对行政裁量权规定了
宁波市江北宏发运输公司地址有知道的么?有点
“你说别傻了这句话伤了我的心” 是哪首歌里
菜场卖蛏子这类海产品赚钱吗
请教:京东自营和京东配送有区别吗
3岁小男孩送什么礼物好
联想Y470-IFI 是win7多少位的
电脑无信号输入怎么回事?
推荐资讯
云贵高原有多少个民族
亚洲分布范围最广的气候分布在A.亚洲的北冰洋
vivoxplay5 用的电信卡 别人打电话总是说关机
河北三河国家农业科技园区地址有知道的么?有
金堂中学怎样,马上大学毕业,要去应聘,求教
查找相关资料用一句名言或诗句来赞美下面这些
重庆大足dns服务器
爱博北京脆皮烤鸭地址在哪,我要去那里办事
给吃货女友的情话,每天给女朋友写一句情话
平和楼这个地址在什么地方,我要处理点事
武汉第三套房屋贷款政策是怎样的?情况说明:
陶瓷环能放在鱼缸吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?