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\ ...
随机推荐
- 点击表格tr同时点击checkbox
项目里偶然要用到这个功能,写到了就记一下吧.
- 微信小程序-上传下载
wx.uploadFile(OBJECT) 上传 将本地资源上传到开发者服务器.如页面通过 wx.chooseImage(图片)/wx.chooseVideo(视频) 等接口获取到一个本地资源的临时文 ...
- html5上传图片
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- java 执行jar指定log4j.properties文件位置
默认情况下,log4j.properties会被加载,并且这个文件需要在classpath根目录,当打包jar时,会打包打jar内部,当需要修改日志级别时,会比较麻烦 可以使用:java -jar - ...
- RESTFUL API 安全设计指南
RESTFUL API 安全设计指南 xxlegend · 2015/10/18 15:08 0x01 REST API 简介 REST的全称是REpresentational State Trans ...
- WebLogic中的一些基本概念
WebLogic中的一些基本概念 WebLogic 中的基本概念 上周参加了单位组织的WebLogic培训,为了便于自己记忆,培训后,整理梳理了一些WebLogic的资料,会陆续的发出来,下面是一 ...
- js小程序写法优化
(function(){ var gcld_but = document.getElementById("gcld_but"), gcld_but_li = gcld_but.ge ...
- JQuery_元素样式操作
元素样式操作包括了直接设置CSS 样式.增加CSS 类别.类别切换.删除类别这几种操作方法.而在整个jQuery 使用频率上来看,CSS 样式的操作也是极高的,所以需要重点掌握. 一.css()方法 ...
- iOS开发 跳转系统设置
NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; [[UIApplication sharedApplica ...
- redsocks 将socks代理转换成全局代理
redsocks 需要手动下载编译.前置需求为libevent组件,当然gcc什么的肯定是必须的. 获取源码 git clone https://github.com/darkk/redsocks 安 ...