Windowsforms 中 进程,线程
进程:
进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。
它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。
Process 类,用来操作进程。
命名空间:using System.Diagnostics;
//通过一个进程,打开指定的文件
//1、创建进程对象
Process p = new Process();
//2.创建一个StartInfo对象,是指定带盘符的路径。
ProcessStartInfo psi = new ProcessStartInfo(路径);
//3.进程指定及开始
p.StartInfo = psi;
p.Start(); //设置要打开的文件类型
openFileDialog1.Filter = "应用程序|*.exe";
//判断是否选择程序文件
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
//取文件路径
string path = openFileDialog1.FileName;
//新建一个进程
Process p = new Process();
//设置启动信息
ProcessStartInfo ps = new ProcessStartInfo(path);
p.StartInfo = ps;
//启动进程
p.Start();
}
例子:注销
//string path = Application.StartupPath;//这个path就是你要调用的exe程序的绝对路径
//获取自身exe或dll的文件名路径
string s = System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.FullyQualifiedName;
//创建进程
Process p = new Process();
//设置进程启动信息
ProcessStartInfo ps = new ProcessStartInfo(s);
p.StartInfo = ps;
//启动进程
p.Start();
//关闭当前程序
this.Close();
线程:
timer控件就是一个线程
并发
两个线程的关系其实就是异步关系
有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。
区别:进程有自己独立的资源,线程共用资源。
Thread类, 命名空间:using System.Threading ;
程序默认只有一个主线程,如果做复杂处理,则会出现假死状态,因为一条线程同时只能做一件事。
多线程的作用:同时做多件事情,节约时间,后台运行程序,提高程序的运行效率,也不会使主界面出现无响应的情况。
线程之间是独立的,不能跨线程访问
取消跨线程访问,需写在Load事件里
Control.CheckForIllegalCrossThreadCalls = false;
//造一个线程
Thread th=new Thread();//括号里需要写线程要操作的方法,不含括号
//执行线程
th.Start();
//如果该方法为带参数的,参数必须为object类型的
private void Test(object n)
{
int count = Covert.ToInt32(n)
for(int i=;i<count;i++)
{
richTextBox1.Text +=i.tostring();
}
} //调用线程
Thread th =new Thread(Test); //执行线程,在这里给参数
th.Start();
线程分为两种:前台线程——只有所有的前台线程都关闭才能完成程序关闭。
后台线程——只要所有的前台线程都结束,后台线程则会自动结束。
//设置th线程为后台线程
th.IsBackground=true;
FromClosing事件中:
//判断新线程是否为null,如果为null,那就自动关闭了
if(th != null)
{
//立即结束线程,但是结束后就不能再被重新Start了
th.Abort();
}
Windowsforms 中 进程,线程的更多相关文章
- Python中进程线程协程小结
进程与线程的概念 进程 程序仅仅只是一堆代码而已,而进程指的是程序的运行过程.需要强调的是:同一个程序执行两次,那也是两个进程. 进程:资源管理单位(容器). 线程:最小执行单位,管理线程的是进程. ...
- 关于Java中进程和线程的详解
一.进程:是程序的一次动态执行,它对应着从代码加载,执行至执行完毕的一个完整的过程,是一个动态的实体,它有自己的生命 周期.它因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而 ...
- 获取系统中所有进程&线程信息
读书笔记--[计算机病毒解密与对抗] 目录: 遍历进程&线程程序 终止进程 获取进程信息 获取进程内模块信息 获取进程命令行参数 代码运行环境:Win7 x64 VS2012 Update3 ...
- 查看JAVA进程中哪个线程CPU消耗最高
一,在centos linux 上查看进程占用cpu过高 top shift+h 查看哪个进程程消耗最高 二,查看JAVA进程中哪个线程消耗最高 2.1 导出java运行的线程信息 ...
- -1-5 java 多线程 概念 进程 线程区别联系 java创建线程方式 线程组 线程池概念 线程安全 同步 同步代码块 Lock锁 sleep()和wait()方法的区别 为什么wait(),notify(),notifyAll()等方法都定义在Object类中
本文关键词: java 多线程 概念 进程 线程区别联系 java创建线程方式 线程组 线程池概念 线程安全 同步 同步代码块 Lock锁 sleep()和wait()方法的区别 为什么wait( ...
- java中进程与线程的区别
进程是一个正在运行的应用程序.一个进程包含一个或多个线程.它可以是一段完整的代码或部分程序的动态执行.系统资源分配与调度的基本单位.而线程是CPU调度与运行的基本单位,它是一组指令的集合或是程序的特殊 ...
- 使用concurrent.futures模块中的线程池与进程池
使用concurrent.futures模块中的线程池与进程池 线程池与进程池 以线程池举例,系统使用多线程方式运行时,会产生大量的线程创建与销毁,创建与销毁必定会带来一定的消耗,甚至导致系统资源的崩 ...
- Linux中进程与线程的概念以及区别
linux进程与线程的区别,早已成为IT界经常讨论但热度不减的话题.无论你是初级程序员,还是资深专家,都应该考虑过这个问题,只是层次角度不同罢了.对于一般的程序员,搞清楚二者的概念并在工作中学会运用是 ...
- {Python之线程} 一 背景知识 二 线程与进程的关系 三 线程的特点 四 线程的实际应用场景 五 内存中的线程 六 用户级线程和内核级线程(了解) 七 python与线程 八 Threading模块 九 锁 十 信号量 十一 事件Event 十二 条件Condition(了解) 十三 定时器
Python之线程 线程 本节目录 一 背景知识 二 线程与进程的关系 三 线程的特点 四 线程的实际应用场景 五 内存中的线程 六 用户级线程和内核级线程(了解) 七 python与线程 八 Thr ...
随机推荐
- fedora下安装xdot和objgraph
前提:安装好了python 1.先下载xdot-0.6.tar.gz和objgraph-1.8.0-py27-none-any.whl,你也可以在官网上下载其他版本. 2.下载完后,解压. 3.打开终 ...
- the first week study
1.In 1989, a man named Guido create "python" as a kind of computer languages. And now we u ...
- 【iOS系列】-oc中特有的语法
[iOS系列]-oc中特有的语法 oc数据类型: 1,基本类型 2,对象类型 3,id 4,BOOL 5,block 6,SEL 1:category 使用继承关系来扩充一个类,有一个弊病,高耦合性 ...
- CRM 插件奇怪的报错
CRM插件,数据库方式注册.报错 找不到方法:“Void Microsoft.Xrm.Sdk.Entity..ctor(System.String, System.Guid)”. 这个错误让人摸不着头 ...
- mysql11---主键普通全文索引
.1主键索引添加 当一张表,把某个列设为主键的时候,则该列就是主键索引 create table aaa (id int unsigned primary key auto_increment , n ...
- BLE广播数据的抓包解析
前言: 报文由数据字节组成同时是按比特传输的,这就免不了牵涉到字节序的问题. 对于各个字节的传输,总是从最低位开始传输.如0x80是按00000001发送的,0x01是按10000000发送的. 同时 ...
- ”吐槽“qemu的块设备驱动
花点时间来总结一下前阵子的工作. qemu的底层块设备无疑是我所见过的最复杂的模块了,说得好像我很精通很多模块一样(大雾). 它的raw镜像格式文件的驱动的核心代码主要都是在raw-posix.c文件 ...
- C# ref和out总结
C# 中ref 与 out 总结 参数的传递一般分为两种:一种是“值传递”即:传递实参的拷贝,既然是拷贝那么在函数中对这个形参所作的任何动作都不会反映到原来的实参中.另外一种是“引用传递”即:传递 ...
- BZOJ_3448_[Usaco2014 Feb]Auto-complete_Trie树
BZOJ_3448_[Usaco2014 Feb]Auto-complete_Trie Description Bessie the cow has a new cell phone and enjo ...
- 【HDU 1520】 Anniversary Party
[题目链接] 点击打开链接 [算法] 树形DP 令f[i][0]表示 : 以i为根的子树中,若i不参加宴会,所能获得的最大愉悦值 f[i][1]表示 : 以i为根的子树中,若i参加宴会,所能获得的最大 ...