第一天
1、Java应用程序的main函数是一个线程,是被JVM启动的时候调用,线程的名字叫main
2、实现一个线程,必须创建Thread实例,override run方法,并且调用start方法。
3、在JVM启动之后,实际上有多个线程,但是至少有一个非守护线程,就是main。
4、当你调用一个线程的start方法的时候,此时至少有两个线程,一个是调用你的线程,还有一个是执行run方法的线程。
5、线程的生命周期分为new,runnable, running,block,termate。
第二天
1、创建线程对象Thread,默认有一个线程名,以Thread-开头,从0开始计数
构造方法 Thread()
Thread-0
Thread-1
Thread-2
2、如果在构造Thread的时候没有传递Runnable或者没有复写Thread的run按方法,该Thread将不会调用任何东西,入股传递了Runnable接口的实例,或者复写了Thread的run方法,则会执行该方法的逻辑单元(逻辑代码)。
3、如果构造线程对象的时候未传入ThreadGroup,Thread会默认获取父线程的ThreadGroup作为该线程的ThreadGroup,此时子线程和父线程将会在同一个threadgroup中
Thread(),Thread(Runable target),Thread(Runnable target, String name), Thread(String name)