0927 进程和线程
进程
启动一个程序(.exe)默认就是增加一个线程,在任务管理器中能够看到.
第一种方法:
Process.Start("calc");
但是这种方法有一种弊端,只能启动windows认识的程序
第二种方法:
Process pr = new Process();//实例化进程类
ProcessStartInfo ps = new ProcessStartInfo(路径名);//给程序一个打开的路径名,用绝对路径
pr.StartInfo = ps;//指向那个路径,就是告诉程序打开什么
pr.Start();//开始执行
线程:
就是进行这个进程的一个对象,在开启进程的时候默认一条线程运行,还是主线程.
写法: using System.Threading;//运用命名空间
Thread th = new Thread(aaa);实例化都需要参数,一般是函数,不需要写括号
th.Start();//运行,如果函数需要传值,就在这个括号里写,而且函数接受的必须是object类型
这种就是建立线程的方式,但写出来点击关闭不能立即停止需要改写为后台运行,在开始之前写上th.IsBackground = true;变为后台线程,关闭主窗体,线程就结束
函数传值:
传值的时候,函数不能调用主窗体的参数需要在构造函数实例化下面写上Control.CheckForIllegalCrossThreadCalls = false;就可以了.