黑马程序员技术交流社区
标题: 多线程知识点总结 [打印本页]
作者: Bermuda 时间: 2014-8-6 19:41
标题: 多线程知识点总结
本帖最后由 Bermuda 于 2014-8-7 08:07 编辑
创建:
方式一:继承Thread类
步骤:
继承Thread覆写run( )方法
通过Thread子类创建线程对象
调用start( );方法开启线程执行run( )
方式二:实现Runnable接口
步骤:
定义类实现Runnable接口
覆盖接口中的run( )方法
通过Thread类创建线程对象
将实现Runnable接口的子类对象作为实际参数传递给Thread类的构造函数
//让线程明确run( )方法所属对象是为了关联线程任务和线程对象
调用Thread对象的start( )方法。开启线程运行Runnable接口中的run( )方法
Ticket t = new Ticket();
Thread t1 = new Thread(t); //创建线程。
t实参传递,明确要运行的run( ) ,Ticket实现Runnable接口,覆写run()
状态:
创建:
new Thread对象或其子类对象
运行:
start( ),具备执行资格与执行权
冻结:
放弃执行资格与执行权
sleep(time);
必须指定时间,时间到从冻结状态变为运行状态
释放执行权不释放锁
wait( );
指不指定时间都可以,不指定的话必须由notify或notifyAll唤醒
释放执行权,释放锁 (必须在同步中)
消亡:
stop();
阻塞:
线程具备cpu的执行资格,没有cpu的执行权
join方法:直到调用该方法的线程执行完再往下继续执行,异步变同步
yield方法:让出CPU执行权给同优先级线程与sleep类似
安全问题:
产生原因:多个线程操作共享数据,共享数据有多条语句,在某时刻被一个线程执行时没有执行完就被其他线程参与进来,并继续操作了共享数据,导致错误产生
多个线程操作共享数据
有多条语句对共享数据进行运算
解决:(加锁)共享数据的多条语句在某一时刻让一个线程执行完,其他线程不能执行
单例
只有一个对象:自己创建别人不能创建但我提供方法让你用
例子:军队指挥官,电脑资源管理器
---饿汉
---懒汉
-------安全(双重判断加锁 single.class)
-------不安全
-
多线程_2345看图王.jpg
(1.93 MB, 下载次数: 150)
-
线程状态_2345看图王.jpg
(933.43 KB, 下载次数: 128)
-
死锁.jpg
(625.83 KB, 下载次数: 129)
作者: 姜佳文 时间: 2014-8-6 19:53
看看涨姿势
作者: liqi 时间: 2014-8-6 19:54
复习了一遍
作者: dreamseekerkun 时间: 2014-8-6 21:04
楼主总结的不错,巩固了下。
作者: as_heima 时间: 2014-8-6 21:11
:)学习了~总结的不错
作者: conglin1991 时间: 2014-8-6 23:48
学习下。。。。。。。。。
作者: wnmmp 时间: 2014-8-6 23:57
好漂亮的图,是你自己画的吗?
作者: hmid 时间: 2014-8-7 00:11
学习学习
作者: 付士长 时间: 2014-8-7 00:24
受教了。赞个!
作者: masai158 时间: 2014-8-7 00:55
大爱。图做的真好
作者: Bermuda 时间: 2014-8-7 07:28
恩恩,自己画的:)
作者: M单色调 时间: 2014-8-7 08:16
总结的不错了!顶起
作者: 阿磊 时间: 2014-8-7 08:40
过来学习下
作者: 申航航 时间: 2014-8-7 08:40
学习一下
作者: 不可言 时间: 2014-8-7 08:47
这图画的不错
作者: F@C 时间: 2014-8-7 14:46
进来学习
作者: liubea 时间: 2014-8-7 15:04
总结的很好,温故而知新。
作者: 7418695lp 时间: 2014-8-7 22:25
楼主好人啊,,,
作者: liujingnan 时间: 2014-8-7 23:06
总结的不错啊。
作者: 李文方 时间: 2014-8-8 08:42
感谢,感谢,最近正在复习这里
作者: 唐覃利 时间: 2014-8-10 11:13
不错的多线程
作者: 永恒星空 时间: 2014-8-10 12:24
感谢啊,正在学习多线程哪
作者: TanZhiPeng1991 时间: 2014-8-10 18:50
学习了一下
作者: jackhai9 时间: 2014-8-10 20:29
再复习了下,总结的不错啊
作者: 毕业生 时间: 2014-8-10 20:33
刚复习了一遍, 再看你这总结 很亲切啊 很全面
作者: 晋一峰 时间: 2014-8-10 20:41
不错哦~! 复制走啦!
作者: 怀念黑海岸 时间: 2014-8-10 21:10
总结的很好,又复习次了。
作者: yuli2039 时间: 2014-8-10 21:30
谢谢楼主分享,正准备复习呢
作者: ﹑淼 时间: 2014-8-11 11:01
总结的蛮多的,先留着。我快学到这了
作者: 我行我SHOW‰ 时间: 2014-8-11 11:04
根本楼主复习了一遍~~~
作者: 大成哥 时间: 2014-8-11 11:12
总结的很棒~!不错
作者: 周峰峰 时间: 2014-8-11 11:42
学习一下!!!!!
作者: 柠萌不 时间: 2014-8-11 15:13
哇,这个图画的不错,总结得很好啊
作者: ❤如止水之絕境 时间: 2014-8-11 20:40
学习了...
作者: 不可言 时间: 2014-8-11 20:42
这图好熟悉
作者: 挥斥方遒 时间: 2014-8-11 23:32
图片已保存
作者: 画了一个圈儿 时间: 2014-8-12 00:38
楼主高手 总结得很精辟 又复习了一下
作者: 君行 时间: 2014-8-12 10:44
学习了
作者: 微微微笑 时间: 2014-8-12 11:36
赞一个,学习了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |