在窗体编程时。(数据库编程)有没有用到线程的?什么时候用到呢?在vs2008里面有个管理线程的空间和类。但是到现在我都还没有用到过。
自己在做WinForm的时候也遇到过此类问题,因为如果不使用多线程,程序在运行中还想做其它操作,就会造成窗体假死!
这位园友总结的很好,我也是参考他的:http://www.cnblogs.com/yizhu2000/archive/2008/01/03/1011958.html
概念
什么是进程?
当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的。
什么是线程?
线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。
什么是多线程?
多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。
平时你有没有发现当用户点击你的程序的按钮后,会有一段时间界面不能相应?如果是,就对了,这时候就是应用场景之一了。你有没有后台 Job 要做?也对了,这也是场景之一了。
说到线程, 就要提到进程, 一个EXE要运行就是一个进程, 一个进程下面可以有好多个线程, 像你可以开一个线程来进行界面更新, 再开一个线程去获取远程数据.
现在的winform程序开发中, 如果的所在处理都在主线程中执行时, 就会出现窗体假死的现象, 需要等待处理完成后才能恢复其它操作, 当用到线程时就不会这样了. 因为在另外一个线程中处理, 窗体就不会假死的现象, 建议去MSDN查看一下, 微软的技术支持的资料.