1,一个winform进程里面可不可以有两个UI线程,如果创建了多个UI线程,会有什么问题?
2,创建一个winform程序,然后运行它,什么操作也不执行,打开任务管理器,发现该进程的线程数是5,除了UI线程外,其它4个线程是干什么的,有什么作用
请高手解答一下,成分感激!
13 个解决方案
#1
1.可以。具体问题,请参阅C#教程中的多线程章节。
2.其他4线程到底干嘛,不需要去研究。就像用WIndows上网的人不需要去研究里面每个子进程的功能一样。如果你想专研,估计得去找找诸如C#内部探秘之类的书籍了。
2.其他4线程到底干嘛,不需要去研究。就像用WIndows上网的人不需要去研究里面每个子进程的功能一样。如果你想专研,估计得去找找诸如C#内部探秘之类的书籍了。
#2
没有主线程和子线程之分,而有主进程和线程之分...
一个主进程包可以含多个进程.当然界面就是一个线程,另外开启的线程输入主进程,但是线程和界面线程之间平级,没有从属关系
一个主进程包可以含多个进程.当然界面就是一个线程,另外开启的线程输入主进程,但是线程和界面线程之间平级,没有从属关系
#4
Windows UI机制本来就是多线程的,你不会不知道吧...换句话说,每一个你能看到的窗体都不止一个线程...要不一个线程怎么处理Windows消息循环啊,怎么响应你那些用户事件啊,怎么能让你那些控件各干各的事儿啊...
这是Windows操作系统基础,得学啊...
这是Windows操作系统基础,得学啊...
#5
感谢各位的回答,
有没有人知道其它4个线程是负责干什么的,或者有什么资料链接给我推荐下,我对这个问题十分感兴趣,万分感激!
有没有人知道其它4个线程是负责干什么的,或者有什么资料链接给我推荐下,我对这个问题十分感兴趣,万分感激!
#6
推荐一个工具Process Explorer,自己琢磨着用吧
#7
线程是可以有很多很多很多。。
但是, UI 线程只有一个,因为只能有一个消息泵,不然就乱套了。。
但是, UI 线程只有一个,因为只能有一个消息泵,不然就乱套了。。
#8
同意7楼的
一个winform系统,只能有一个ui线程,但是可以有很多隐藏的线程(处理其他业务)
ui线程是为了保证winform系统运行过程中不会出现线程争抢ui资源的现象,,也就是只能有一个消息泵去控制ui呈现,否则,就乱了
一个winform系统,只能有一个ui线程,但是可以有很多隐藏的线程(处理其他业务)
ui线程是为了保证winform系统运行过程中不会出现线程争抢ui资源的现象,,也就是只能有一个消息泵去控制ui呈现,否则,就乱了
#9
1 主线程 N个 工作线程
#10
#11
只能有一个UI线程,回答完毕!
#12
不可以的,只有一个
#13
我一直也是这么认为的,但不知创建了两个ui线程会是什么情况和后果?
#1
1.可以。具体问题,请参阅C#教程中的多线程章节。
2.其他4线程到底干嘛,不需要去研究。就像用WIndows上网的人不需要去研究里面每个子进程的功能一样。如果你想专研,估计得去找找诸如C#内部探秘之类的书籍了。
2.其他4线程到底干嘛,不需要去研究。就像用WIndows上网的人不需要去研究里面每个子进程的功能一样。如果你想专研,估计得去找找诸如C#内部探秘之类的书籍了。
#2
没有主线程和子线程之分,而有主进程和线程之分...
一个主进程包可以含多个进程.当然界面就是一个线程,另外开启的线程输入主进程,但是线程和界面线程之间平级,没有从属关系
一个主进程包可以含多个进程.当然界面就是一个线程,另外开启的线程输入主进程,但是线程和界面线程之间平级,没有从属关系
#3
#4
Windows UI机制本来就是多线程的,你不会不知道吧...换句话说,每一个你能看到的窗体都不止一个线程...要不一个线程怎么处理Windows消息循环啊,怎么响应你那些用户事件啊,怎么能让你那些控件各干各的事儿啊...
这是Windows操作系统基础,得学啊...
这是Windows操作系统基础,得学啊...
#5
感谢各位的回答,
有没有人知道其它4个线程是负责干什么的,或者有什么资料链接给我推荐下,我对这个问题十分感兴趣,万分感激!
有没有人知道其它4个线程是负责干什么的,或者有什么资料链接给我推荐下,我对这个问题十分感兴趣,万分感激!
#6
推荐一个工具Process Explorer,自己琢磨着用吧
#7
线程是可以有很多很多很多。。
但是, UI 线程只有一个,因为只能有一个消息泵,不然就乱套了。。
但是, UI 线程只有一个,因为只能有一个消息泵,不然就乱套了。。
#8
同意7楼的
一个winform系统,只能有一个ui线程,但是可以有很多隐藏的线程(处理其他业务)
ui线程是为了保证winform系统运行过程中不会出现线程争抢ui资源的现象,,也就是只能有一个消息泵去控制ui呈现,否则,就乱了
一个winform系统,只能有一个ui线程,但是可以有很多隐藏的线程(处理其他业务)
ui线程是为了保证winform系统运行过程中不会出现线程争抢ui资源的现象,,也就是只能有一个消息泵去控制ui呈现,否则,就乱了
#9
1 主线程 N个 工作线程
#10
#11
只能有一个UI线程,回答完毕!
#12
不可以的,只有一个
#13
我一直也是这么认为的,但不知创建了两个ui线程会是什么情况和后果?