1.概念
程序=数据结构+算法
进程会占用一定的内存和CPU
2.继承Thread创建线程
这里使用start来启动线程
1)控制台输入JConsole可以查看程序的线程。
很多程序,main主线程结束之后,可能还有其他线程继续运行。不是主线程结束就代表进程结束,需要所有线程结束,才是进程结束
2)为什么使用cat.start()而不是cat.run()
真正实现多线程的是start()中调用的start0()
3.实现Runnable来创建线程
可以避免类的单继承,若Dog类继承了Animal类,便不能继承Thread,无法通过Thread创建线程。
Runnable类没有start方法,需要通过一个Thread代理器执行。 【动态绑定机制】
4.一些方法
- Thread.sleep()可以让线程休息,参数填xx ms
- Thread.currentThread().getName()获得当前线程的name