上QQ阅读APP看书,第一时间看更新
1.5.2 常用方法
1.线程名称
1)通过构造参数传入名称
代码如下:
FiveMain类主方法,代码如下:
执行结果如下:
2)通过setName(String name)方法设置名称
代码如下:
执行结果如下:
FiveThread:通过方法设置-名称 FiveThread:通过方法设置-名称
注意:如果没有设置名称,则默认生成一个固定格式的名称,如图1-5所示。
图1-5 默认线程名称
线程的名称需要根据业务设置,做到见名知意,名称虽然没有强制要求唯一,但是在使用中不要出现同名的情况。
2.线程ID
getId()方法可以返回一个long型的值,每次创建线程对象时增加1操作,并发安全,如图1-6所示。
图1-6 线程ID
3.当前执行线程对象
Thread.currentThread()可以获得当前执行线程对象,这里一定要分清楚当前对象和当前执行线程对象的区别,代码如下:
FiveMain类主方法,代码如下:
执行结果如下:
FiveThread:通过方法设置-名称 currentThread:通过方法设置-名称
修改FiveMain类,代码如下:
执行结果如下:
FiveThread:通过方法设置-名称 currentThread:main
注意:fiveThread.run()方法并没有启动新的线程,里面是由当前主方法的默认线程去执行的,所以Thread.currentThread().getName()输出的当前执行线程对象的名称是main,而this.getName()获得的是当前对象的名称。