Java创建线程
1、首先明确:创建的线程也是对象,有的时候一直想着它和系统相关,无意中忽视它作为对象的本质。
2、两种方法:
⑴、继承Tread类,并实现run()方法,然后进行实例化
⑵、创建一个普通类实现Runnable接口。然后该类的实例化对象作为Thread类构造方法的参数进行创建线程对象。
3、联系区别
⑴从继承角度来讲,首先如果这个线程需要继承一些已经写好的类,那么不用说,肯定使用方法二,因为Java单继承。这点尤为重要,虽然以前没注意。
⑵从共享资源角度来看,本质上这两种方法都能处理共享资源,就比如“所有窗口卖同一数据库的火车票”问题
①使用方法一,明显可以将火车票资源定义为静态变量;脱离本问题不谈,共享资源也可以通过方法的参数传递(同一个对象)来实现。当然,“同步”的问题,不管哪个方法都不可避免。
②使用方法二,都使用同一个 实现Runnable接口的类实例化对象 来创建线程就可以,也能够实现共享资源,本质上,就是同一个资源的传入,和上面参数传递意思相同。“同步”问题,也需要考虑。
4、内存占用
???
5、性能问题
运行速度,感觉都是Run方法,会不会有区别???
欢迎拍砖~