码迷,mamicode.com
首页 > 编程语言 > 详细

多线程技能

时间:2017-08-12 22:38:32      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:函数   效率   read   span   轻量   isa   自己   nbsp   bsp   

1.什么是进程?什么是线程?

技术分享

我们可以把计算机上每一个正在进行的任务看做一个进程,比如说听音乐、做PPT、玩游戏等等。进程是受操作系统管理的基本运行单元。

而什么是线程呢?

线程是进程中独立的子部分,可以共享进程中的资源,而又有自己的小秘密。就如同进程在计算中一样的地位,所以也叫“轻量级的进程”

2.使用多线程

为什么要使用多线程呢?

因为现在的处理器为了提高效率,采取并发处理的方式,并发也就是看起来像是同时发生,但是同一时间处理器上只能执行一个进程,只是CPU的处理速度太快,我们看起来就像是一起发生一样。使用多线程的优势呢,就是可以同一时间内处理多种任务。使用多线程也就是使用异步,它的处理完全靠计算机调度,并不是按照代码的顺序来执行。谁的优先级更高,就更有可能获得CPU资源。

技术分享

 

可以通过继承Thread类和实现Runnable接口。使用Runnable接口呢,避免的继承的单一性,当已经有了一个父类的的时候,就可以通过实现Runnable接口来实现多线程。

Thread类继承自Runnable接口,看源码发现Runnalbe接口里面只有一个run()方法,并没有启动多线程所需要的start()方法,所以需要把实现Runnable接口的实例对象作为一个target传给Thread类,由Thread类来启动多线程,而Thread类继承自Runnable,所以也完全可以把Thread子类的实例对象作为target传给Thread类,来创建多个线程,如果不传给Thread,只由Thread子类的实例对象来start()的话,一个target只能创建一个线程。

看一下Thread类的构造函数

技术分享

 

3. 常用方法

currentThread()方法返回当前执行线程的信息。

isAlive()方法判断线程是否存活,也就是是否处在执行或者准备执行状态。

sleep()

多线程技能

标签:函数   效率   read   span   轻量   isa   自己   nbsp   bsp   

原文地址:http://www.cnblogs.com/wxw7blog/p/7351474.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!