博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
黑马程序员--浅谈进程与线程
阅读量:6901 次
发布时间:2019-06-27

本文共 890 字,大约阅读时间需要 2 分钟。

          

 ---------------------- .Net培训、WP7培训、期待与您交流!----------------------

 

 

(1)简单来说,一个应用程序要运行,就要起一个进程,而进程在运行的时候,又分为很多

个小线程运行,一个进程启动了,至少要有一个线程,即主线程,UI线程,还会有很多线程

在辅助所在进程准确运行,在一个进程执行过程中,线程的运行是交替进行的,计算机的频

率非常高,刷新周期特别快,所以算机使用者根本感觉不到程序的中断。线程的启动可以看

做一个事件的触发,所以要有一个监听者对其作出反应。引入多线程可以让CPU "同时" 做

多件事情,可以提高系统资源利用率。引入多线程可以避免UI线程假死现象。用后台线程来

执行UI界面触发的事件(找个工人做点事)。线程创建时需要传入一个方法,这个方法实际

上是传给了一个委托,因为线程对象的构造方法需要一个委托类型的参数,该委托不能有返

回值

(2)创建线程的四个步骤:
1、编写产生线程所要执行的方法
2、引用System.Threading命名空间
3、实例化Thread类,并传入一个执行线程所要运行方法的委托。

(这个时候线程已经产生, 但是还没有运行)

4、调用Thread实例的start方法,标记该线程可以被CPU执行了,但具体执行时间由CPU

  决定。

(3)线程分为前台线程和后台线程
前台线程:只有所有的前台线程都关闭了,程序才会关闭。
后台线程:只要前台线程关闭了,后台线程就自动结束了。
线程重入问题,CPU切换速度非常快,所以线程之间会共享资源,但是线程自身是独立的。
(4)带参数线程
        创建线程时需要一个参数,而且是Object类型。
        调用Start方法时需要传递实参。

      

---------------------- .Net培训、WP7培训、期待与您交流!----------------------

转载于:https://www.cnblogs.com/dongzhi0000/archive/2011/11/30/2269560.html

你可能感兴趣的文章
浅谈JVM内存模型
查看>>
IRC僵尸网络原理
查看>>
RIPng(第三组)
查看>>
后端传给前端Long类型数据,导致精度丢失
查看>>
SpringMvc 与 Struts2的区别
查看>>
实验四 恶意代码技术
查看>>
快速打出System.out.println("");
查看>>
kermit的安装、配置、使用
查看>>
shell编程学习
查看>>
忙中记录
查看>>
Js点餐加减数量
查看>>
【转】ACM训练计划
查看>>
Design Tic-Tac-Toe
查看>>
LeetCode 477: Total Hamming Distance
查看>>
win10安装MarkdownPad 2报错This view has crashed的处理及md简单语法
查看>>
Unity3D - 设计模式 - 工厂模式
查看>>
第二十六课:jQuery对事件对象的修复
查看>>
Leetcode题目:Swap Nodes in Pairs
查看>>
Windows聚焦转为图片
查看>>
POJ NOI0101-09 字符菱形
查看>>