谁能告诉我控制台程序和winform程序的本质区别

suxiaoguai 2005-11-22 04:48:40

我用控制台方式做了个多线程的程序,
如果我不加
console.read();

代码行,该程序是执行不了的因为控制台程序它不等待我另外一个线程执行完毕就退出了。

但是如果我加了
console.read();

我又不知道怎么让系统自动结束该控制台程序,因为该程序是自动执行的,系统要在执行任务后能够自动关闭。

后来我只能改成winform方式来做了。

有两个问题:
1 在console.read() 方式下怎么自动退出控制太程序
2 winform的程序是可以一直存在,直到你关闭或用application.exit结束
那么控制台程序和winform的本质区别是什么呢?


...全文
482 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
搬运工木木 2005-11-25
  • 打赏
  • 举报
回复
晕。。我的while不是指本质区别啊

我个人理解,两者本质区别应该是用户界面了,也就是一个有窗口,一个没窗口
线程,消息,现在的控制台程序都能实现吧,只不过一个是默认实现的,这个不是区别吧?
suxiaoguai 2005-11-25
  • 打赏
  • 举报
回复
zhy0101(香蕉)

是的,请问有什么例子可以看到 两者代码的不同吗?

就是你说的消息和没有消息运行机制的不同。
suxiaoguai 2005-11-24
  • 打赏
  • 举报
回复
zhy0101 2005-11-24
  • 打赏
  • 举报
回复
Winform有消息循环
suxiaoguai 2005-11-23
  • 打赏
  • 举报
回复
我觉得本质区别应该是从windows的运行机制来说,

控制台和winform的运行机制是否不一样?

一个窗体运行后就会把句柄交给 系统的线程队列,等待系统的消息。

我感觉控制台好象不是,我些在main函数中的代码运行完了,其他线程还在运行。

用while肯定可以等待,但是会狂占CUP资源。

所以只好改成winform 来做, 我想这就是 dos跟 windows内部的区别吧?
不知道是不是 ,所以请高人指点了。
suxiaoguai 2005-11-23
  • 打赏
  • 举报
回复
本质区别就是一个有窗口,一个没有窗口。

你在控制台上可以判断你所有的线程是否都已经退出。

---------------------------------------------
shanmin(shanmin) :控制太程序是一直执行的,她不会跟winform一样停在那里的。
但是:如何实现的呢?
如何判断所有的线程已经退出?



-----------------------------------
while(msg)


xinggg(风之渡) : 这样会狂占CPU资源,你试试一直用while等待在那里,CUP使用为100%


huangyiiiiii 2005-11-22
  • 打赏
  • 举报
回复
借地问一下
Console程序 和winform程序生成过城有什么区别?
如何在一个以windorm程序生成的程序中打开console 窗口
谢谢
搬运工木木 2005-11-22
  • 打赏
  • 举报
回复
while(msg)
shanminmin 2005-11-22
  • 打赏
  • 举报
回复
本质区别就是一个有窗口,一个没有窗口。

你在控制台上可以判断你所有的线程是否都已经退出。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧