A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 日光加蓝 中级黑马   /  2014-7-27 11:55  /  1558 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

java实现线程开发的两种方式

继承Thread类
我们就可以认为当前的实现类就是一个线程类
运行时,每个Thread都拥有自己独立的run方法

实现Runnable接口(一般都当作共享资源)
而实现了Runnable接口的类并不是线程类,它只是一个可运行的对象
最终是要通过线程去执行的

运行时,被多个线程共享一个run方法


产生资源共享问题的原因:
由于CPU给所有线程分配的时间片长短是不一样的,
导致线程在没有处理完自身任务时,就让出的cpu资源
这时CPU就执行另外一个线程去了


解决办法
让资源的共享得到同步,在java中可以使用同步锁进行同步
但是会降低执行效率(synchronized)

同步锁可以加在方法上(锁住当前对象)
也可以加在代码块中(形成一个同步代码块)

点评

bucuo  发表于 2014-7-27 12:03

3 个回复

倒序浏览
围观一下
回复 使用道具 举报
挺好      
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马