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

java学习之多线程

时间:2015-11-10 23:50:42      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:

1.java中Thread类代表一个线程,两种创建线程的方法:
1)创建Thread的子类,重写run方法;需要调用线程的start()方法启动线程;
2)创建Runnable接口的实现类,实现接口中的run方法;

一般推荐使用第二种方法实现多线程,原因是,首先能够实现多线程资源的共享;另外实现多线程的子类可以继承其他父类
2.String threadName= Thread.currentThread().getName():获取当前执行线程的名字;


3.实现Runnable接口的方式:
3.1:首先创建实现runnable接口的实现类:必须实现run方法
3.2 创建3.1对应的 Runnable接口的实现类对象;
3.3:创建Thread对象,利用Thread(Runnable target)构造器创建
3.4 调用Thread类start()方法启动线程


4.线程生命周期相关的几个方法:
4.1 yield()方法,若当前线程调用该方法,线程由执行状态变为可运行状态

4.2sleep(int min)休眠,使当前线程休眠一段时间()以毫秒为单位
4.3 join()方法,在一个线程中调用另外的线程方法,将使当前线程阻塞,等待另一个线程执行完后,再进入可执行状态

4.4 interrupt()方法,将解除线程的阻塞状态

已经结束的线程再次调用start方法,会抛出异常

4.6 isAlive()方法判断线程是否活着(可运行状态或运行状态)


5.线程安全的问题:
5.1理解并编写出线程不安全的实例代码:多个线程访问一个共享的资源
5.2使用synchronized 代码块解决线程安全的问题:需要在synchronized代码块中
参照共同的一个对象

6.关于线程间的通信:
6.1:相关方法:wait(),notify(),notifyAll()
6.2这些方法在同步方法中调用(synchronized)
//如何使用两个线程交叉打印a到c,要实现交替效果??

技术分享

技术分享

 

java学习之多线程

标签:

原文地址:http://www.cnblogs.com/zhangshitong/p/4954819.html

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