进程与多线程、死锁初步理解
2018-06-18 03:03:52来源:未知 阅读 ()
概念:进程是计算机上的一次执行活动,是程序的一次动态执行过程,是操作系统进行资源分配的单位,当运行一个程序就启动一个进程。Process可以访问本地或远程计算机上的进程,并且可以启动和终止本地系统中的进程(System.Diagnostics)
线程是操作系统分配处理器时间的基本单元,是多个操作系统看起来像同时发生(System.Threading)
多线程优点:1.用户界面响应时还可做后台操作 2.按优先级执行任务 3.通过网络连接到web服务器或数据库
多线程缺点:1.加重系统的负荷可能会导致性能降低 2.控制多线程的代码比较难,可能导致很多bug
多线程:线程是指程序中的一个单一的顺序控制流,线程是进程中的实体。一个进程可以拥有多个线程,一个线程必须有一个父线程。线程不拥有系统资源,只有运行必须的一些数据结构。它与父线程的其他线程共享该进程所拥有的全部资源。线程可以创建撤销,从而实现程序的并发执行
死锁:死锁是指使用共享资源的两个或多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能进行,而导致两个或者多个线程都在等待对方释放资源,都停止执行的情形。
实例:
启动线程:
构造方法用 ThreadStart 代理作为参数;ThreadStart 指向的方法将在线程中执行;线程是通过Start方法来启动
Thread t = new Thread(new ThreadStart(MyClass.AStaticMethod));
t.Start();
线程的属性和参数:
Thread.Name获取或设置线程名;Thread.Priority获取或设置线程优先级;Thread.IsBackground线程是否可在后台运行
管理线程:
Thread.Sleep 阻塞当前线程 Thread.Sleep(3000); // blocks for 3 seconds
Suspend和Resume并不常用可能导致死锁等应用程序的严重问题
Thread.Join 等待其它线程停止 t.Join(); // Wait for the thread to exit
Thread.WaitHandle 等待一个或多个事件 WaitHandle.WaitAll(waitEvents);
Thread.ThreadState 属性——线程状态
中断和结束线程:
Thread.Interrupt 方法 中断处于执行状态的线程 ;Thread.Abort 方法 结束线程运行
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:递归、遍历、冒泡
- CreateEvent进程同步 2020-04-19
- C++ 进程和匿名管道使用学习 2020-01-14
- 开源项目SMSS开发指南(二)——基于libevent的线程池 2020-01-11
- linux与Windows进程控制 2019-11-22
- c++11多线程记录0 2019-10-25
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash