怎样才是正确的线程启动方式?(start方法和run方法)
您的每一个用心回答,都会让这个世界变得更美好一些!
java里的三种线程启动方式,不过最常用的是前面两种:
请记住,start()才是开启线程的方法,涉及到了线程的生命周期。而run()只是调用了线程里的方法
而在Android,如果要启动一个线程,直接new Thread重写里面run方法然后使用对象的start()方法就可以了。如果要启动一个耗时的thread,请尽量使用handler来传递,不要在主线程中启动一个耗时的thread,如绘图的UIthread,还有视图的更新等(如recyclerview的item更新)都需要通过handler post出去执行,主线程不执行耗时操作。
Java 中 start 才是进行线程的启动,run 方法应该算是对任务的抽象,并没有启动线程的作用。
java里的三种线程启动方式,不过最常用的是前面两种:
请记住,start()才是开启线程的方法,涉及到了线程的生命周期。而run()只是调用了线程里的方法
而在Android,如果要启动一个线程,直接new Thread重写里面run方法然后使用对象的start()方法就可以了。如果要启动一个耗时的thread,请尽量使用handler来传递,不要在主线程中启动一个耗时的thread,如绘图的UIthread,还有视图的更新等(如recyclerview的item更新)都需要通过handler post出去执行,主线程不执行耗时操作。
Java 中 start 才是进行线程的启动,run 方法应该算是对任务的抽象,并没有启动线程的作用。