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