Java-线程(1)
Java-线程(1)
本人慧星撞地球 发表于1年前
Java-线程(1)
  • 发表于 1年前
  • 阅读 0
  • 收藏 0
  • 点赞 0
  • 评论 0
摘要: 1、什么是线程 2、线程的状态转换 3、线程的几个常用方法 4、http://www.cnblogs.com/xdp-gacl/p/3633936.html

1、线程的基本概念

线程是一个程序内部的顺序控制流。一个进程(应用程序(任务))可以有多个线程。

Java中的线程是由java.lang.Thread类来实现的。

每个程序中的main方法都是一个线程(主线程)。如果想添加新线程可以通过创建Thread类的实例来实现。启动一个线程调用Thread实例的start()方法。整个新线程的操作内容都是在Thread类的实例的run方法中完成的。所以run()称为线程体。

其实在同一个时间点上,一个CPU只能支持一个线程运行。只是CPU运行速度很快,所以看起来像多个线程同时在执行。

2、线程的创建和启动

有两种创建线程的方法。一是定义的线程类实现Runable接口。并实现run()方法。二是继承Thread类,并重写里边的run()方法。run()方法是“线程体”。

注意:(1).因为java中的线程是由java.lang.Thread类实现的,即每一个Thread对象代表一个新线程,所以只要new一个Thread对象一个线程程就出现了。所以当用实现Runable接口这种方法创建一个线程时,必须new一个Thread对象出来,把实现了Runable接口类的实例当做参数传到thread中。

(2)启动新开辟的线程用start()方法。

(3)这两种方法应该首选实现Runnable接口的方式创建线程。因为接口可以同时实现多个,而类只能单继承。

3、线程的状态转换

4、线程的4种方法介绍

(1)Thread.sleep()静态方法。将当前线程睡眠并制定毫秒数。抛出Interrupted异常,当线程被中断的时候。

(2)join()。调用某线程的该方法,将当前线程和该线程“合并”,即等待该线程结束,再恢复当前线程的执行。

(3)yield()。让当前运行线程回到可运行状态,以允许具有相同优先级的其他线程获得运行机会。因此,使用yield()的目的是让相同优先级的线程之间能适当的轮转执行。但是,实际中无法保证yield()达到让步目的,因为让步的线程还有可能被线程调度程序再次选中。

(4)notify()/notifyAll()唤醒等待池中的一个/全部线程。

共有 人打赏支持
粉丝 0
博文 24
码字总数 10716
×
本人慧星撞地球
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: