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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 文盲庄稼汉 中级黑马   /  2014-8-3 17:41  /  1824 人查看  /  19 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

进程是一个正在执行的程序。
线程是每一个进程中的独立的控制单元,该控制单元就是程序的执行路径。
每个进程至少有一个线程。
在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runable接口。
代码框架就不说了,大家都孩应该知道。不懂得去看毕老师的视频。讲的很详细的。
Thread和Runnable的区别:
如果一个类继承Thread,则不适合资源共享。但是如果实现了Runable接口的话,则很容易的实现资源共享。
大家可以想象,如果是一个买票系统的话,如果count表示的是车票的数量的话,那么我们必须要用Runnable借口来实现共享数据。
总结一下吧:
实现Runnable接口比继承Thread类所具有的优势:
1):适合多个相同的程序代码的线程去处理同一个资源
2):可以避免java中的单继承的限制
3):增加程序的健壮性,代码可以被多个线程共享,代码和数据独立。
所以,本人建议大家劲量实现接口。
接下来线程的强制执行:join();休眠:sleep();wait();唤醒:notify();
虽然线程执行有优先级,但是请不要误以为优先级越高就先执行。谁先执行还是取决于谁先去的CPU的资源、
还有线程的同步,死锁。包括同步代码块,同步函数。同步的锁的问题。非静态的锁是this,静态放发的所是Class。还有单例设计模式的书写。
好像就这么多,大家在看看有没有什么遗漏的。补充补充。大家多交流学习,争取早日加入黑马!!!


19 个回复

倒序浏览
:victory:给你点32个赞,主要是线程间的通信,理解这个就算理解得不错了
回复 使用道具 举报
写的不错,,,,
回复 使用道具 举报
我也刚看完多线程,总结的不错。
回复 使用道具 举报
有收获!
回复 使用道具 举报
多总结真好,我也要多总结一下:)
回复 使用道具 举报
还没看到,先收藏以后验证,多谢分享
回复 使用道具 举报
不错~!赞一个!
回复 使用道具 举报
谢谢分享,顶一个!~
回复 使用道具 举报
再补充点:
1、由于java是单继承,Thread在某些情况下会无法实用;
2、关于同步锁,必须是使用的是同一把锁;
回复 使用道具 举报
线程这一块真正用好还是得去项目中实践一下。。。
回复 使用道具 举报
LFW 中级黑马 2014-8-4 12:22:38
12#
lock没讲。Lock代替了synchronized,Condition代替了同步锁。不细讲。
回复 使用道具 举报
感谢楼主的总结
回复 使用道具 举报
感谢楼主的总结~~~
回复 使用道具 举报
路过~~~~
回复 使用道具 举报
飘过!!!!!!!!!!!
回复 使用道具 举报
路过学习了.
回复 使用道具 举报
jdk1.5之后提供的全新的锁机制来解决数据安全问题,特点是一个锁可以持有多个锁对象。
回复 使用道具 举报
基本的知识点都覆盖了:lol
回复 使用道具 举报
刚好弄完多线程 来看看
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马