C# 进程和线程
一、进程和线程
进程是对一段静态指令序列的动态执行过程,是系统进行资源分配和调度的基本单位。与进程相关的信息包括进程的用户标志、正在执行的已经编译好的程序、程序和数据在存储器中的位置等。同一个进程有可以划分为若干个独立执行流,称之为线程。线程是CPU调度的基本单位。例如在Windows环境下,用户可以同时运行多个应用程序,每个致谢的应用程序就是一个进程。
进程与线程的划分对提高软件的并行性很重要,实现分时处理。
二、Process类
Process类是用于完成相关进程的相关处理任务,可以在计算机上启动和停止进程,也可以查询进程的相关信息。启动进程的一般方法是:
(1)首先创建Process类的实例;
(2)设置对象的StartInfo属性;
(3)调用对象的Start方法启动进程;
三、Thread类
Thread类用于创建和控制线程,对线程的操作有:启动线程,终止线程,合并线程,让线程休眠。
1、启动线程
首先创建一个线程
Thread t=new Thread(enterpoint);//enterpoint是线程的入口,即线程执行的方法。
2、终止线程
有两种方法,方法一:事先设置一布尔变量,在其他线程可以修改该变量的值二传递给该线程,作为它是否需要终止的判断条件,而在该线程中循环检测这个变量,以确定是否退出该线程。实际编程中一般使用这种方法。方法二:通过调用Thread类的Abort方法强行终止线程。
3、合并线程
Join方法用于把两个并行执行的线程合并为一个线程。如果一个线程t1在执行的过程中需要等待另一个线程t2结束后才能继续执行,可以在t1的程序模块中调用t2的Join方法。
4、让线程休眠
调用Thread类的Sleep方法,即让线程休眠。如 Thread.Sleep(1000);
5、线程优先级
当线程之间争夺CPU的时间片时,CPU是按照线程的优先级进行服务的。如设置线程t的优先级为最高,t.priority=ThreadPriority.Highest;
6、线程池
7、同步
同步,是指多个线程之间存在先后执行顺序的关联关系。 可以使用lock语句使多个线程合符逻辑。
C# 进程和线程的更多相关文章
- 关于Java中进程和线程的详解
一.进程:是程序的一次动态执行,它对应着从代码加载,执行至执行完毕的一个完整的过程,是一个动态的实体,它有自己的生命 周期.它因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而 ...
- Java中的进程和线程
Java中的进程与线程 一:进程与线程 概述:几乎任何的操作系统都支持运行多个任务,通常一个任务就是一个程序,而一个程序就是一个进程.当一个进程运行时,内部可能包括多个顺序执行流,每个顺序执行流就是 ...
- Java中的进程与线程(总结篇)
详细文档: Java中的进程与线程.rar 474KB 1/7/2017 6:21:15 PM 概述: 几乎任何的操作系统都支持运行多个任务,通常一个任务就是一个程序,而一个程序就是一个进程.当一个进 ...
- C# - 多线程 之 进程与线程
并行~并发 并发 Concurrency,逻辑上的同时发生,一个处理器(在不同时刻或者说在同一时间间隔内)"同时"处理多个任务.宏观上是并发的,微观上是按排队等待.唤醒.执行的步骤 ...
- Android 的进程和线程
进程和线程 如果某个应用程序组件是第一次被启动,且这时应用程序也没有其他组件在运行,则android系统会为应用程序创建一个包含单个线程的linux进程.默认情况下,同一个应用程序的所有组件都运行在同 ...
- Python之路第一课Day9--随堂笔记之二(进程、线程、协程篇)
本节内容 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者消费者模型 Queu ...
- python之进程与线程
什么是操作系统 可能很多人都会说,我们平时装的windows7 windows10都是操作系统,没错,他们都是操作系统.还有没有其他的? 想想我们使用的手机,Google公司的Androi ...
- [转载]了解Linux的进程与线程
本文转自Tim Yang的博客http://timyang.net/linux/linux-process/ .对于理解Linux的进程与线程非常有帮助.支持原创.尊重原创,分享知识! 上周碰到部署在 ...
- python 进程和线程
python中的进程.线程(threading.multiprocessing.Queue.subprocess) Python中的进程与线程 学习知识,我们不但要知其然,还是知其所以然.你做到了你就 ...
- Python_Day10_进程、线程、协程
本节内容 操作系统发展史介绍 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\ ...
随机推荐
- 【intellij idea】Project Structure 讲解
项目的左侧面板 项目设置->Project Project Settings -> Modules Sources面板 Paths面板 dependencies面板 Project Set ...
- javascript的继承小结
继承是OO语言中最为津津乐道的概念,一般有两种继承方式,接口继承和实现继承,接口继承只继承方法签名,实现继承则是集成真正的方法.由于js中函数没有签名,因此ECMAScript中没有接口继承,只有实现 ...
- 使用vs2010创建、发布、部署、调用 WebService
原文地址:使用vs2010创建.发布.部署.调用 WebService作者:吴超 一 使用vs2010创建 WebService 1 打开VS2010,菜单 文件->新建->项目2 ...
- linux系统下静态IP的设置
首先说明:下面用的系统为:kali 4.6.0版本的哦:不同的系统是不一样的:反正吧,在ubuntu上的好多方法在kali上就不管用,并且吧,不同的ubuntu的版本也不一样的: 第一步:设置网络的I ...
- sublime jsx 格式化工具
1.到Sublime Text 3\Packages\ 目录下 git clone https://github.com/ionutvmi/sublime-jsfmt jsfmt 2.重启sublim ...
- java: Thread 和 runnable线程类
java: Thread 和 runnable线程类 Java有2种实现线程的方法:Thread类,Runnable接口.(其实Thread本身就是Runnable的子类) Thread类,默认有ru ...
- Linux快捷键
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...
- Unity3d copy gameobject from one scene to another
scene-copy-game-objects-from-one-scene-to-anotherhttp://forum.unity3d.com/threads/scene-copy-game-ob ...
- Sprint1(第三天11.16)
Sprint1第一阶段 1.类名:软件工程-第一阶段 2.时间:11.14-11.23 3.选题内容:web版-餐厅到店点餐系统 4.团队博客地址: http://www.cnblogs.com/qu ...
- 简单的验证码识别(opecv)
opencv版本: 3.0.0 处理验证码: 纯数字验证码 (颜色不同,有噪音,和带有较多的划痕) 测试时间 : 一天+一晚 效果: 比较挫,可能是由于测试的图片是在太小了的缘故. 原理: 验证码 ...