介绍
本篇文章给大家分享的是有java中开始关方法与运行方法有什么区别,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
java有哪些集合类
java中的集合主要分为四类:1,列清单表:有序的,可重复的;2、队列队列:有序,可重复的;3,设置集合:不可重复;4、地图映射:无序,键唯一,值不唯一。
线程状态
在java当中,线程通常有五种状态:创建、运行,阻塞,等待,终止 新- - - - - - - - - - - - - - - - - -→新建状态,没有调用开始()之前的状态 可运行- - - - - - - - - - -在运行状态,(运行执行中,准备好了就绪(等待cpu时间片)) 阻塞- - - - - - - - - - - -在阻塞状态, 等待- - - - - - - - - - - - - - - -在等待状态,没有明确的等待结束时间,调用等() TIMED_WAITING→超时等待状态,有明确的等待时间,如:睡眠(xxx) 终止- - - - - - - - - -在终止状态
多线程原理:
我们一般使用线程新一个线程,然后调用开始方法启动,线程就会处于运行状态中准备好了,等待CPU调度,然后再执行线程里面的运行()方法,使用开始方法才真正实现了多线程运行,因为这个时候不用等待我们的运行方法执行完成就可以继续执行下面的代码,这才叫多线程。
如果直接使用线程执行运行方法会怎么样呢?
因为运行方法是线程里面的一个普通的方法,如果直接调用运行()方法,这个时候它会运行在主线程中的,因为程序中只有主线程一个线程,如果有两个线程,都是直接调用运行()方法,那么他们的执行顺序一定是按顺序执行的,并没有实现多线程的目的。
免费学习视频分享:java视频教程
代码对比
public class ThreadDemo5 { ,,,public static final boolean 旗帜=false; ,,,public static void main (String [], args), { ,,,,,,,Thread t1=new 线程(new Runnable (), { ,,,,,,,,,,@Override ,,,,,,,,,,,public void 运行(),{ ,,,,,,,,,,,,,,,System.out.println (Thread.currentThread () . getname ()); ,,,,,,,,,,,} ,,,,,,,}); ,,,,,,,t1.start (); ,,,} }
调用开始()方法,线程名是默认的
public class ThreadDemo5 { ,,,public static final boolean 旗帜=false; ,,,public static void main (String [], args), { ,,,,,,,Thread t1=new 线程(new Runnable (), { ,,,,,,,,,,@Override ,,,,,,,,,,,public void 运行(),{ ,,,,,,,,,,,,,,,System.out.println (Thread.currentThread () . getname ()); ,,,,,,,,,,,} ,,,,,,,}); ,,,,,,,t1.run (); ,,,} }
调用运行(),线程名主要是
以上就是java中开始方法与运行方法有什么区别,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。