Java_基础—多线程(匿名内部类实现线程的两种方式和设置名字的方法)
来源:互联网 发布:网络电话回拨软件 编辑:程序博客网 时间:2024/05/21 16:55
一、为什么要使用匿名内部类来实现多线程?
好处:不需要另找一个类来继承Thread类和实现Runnable接口啦,只需要new Thread()或者new Runnable() 后,重写里面的run()方法就可以了。
package com.soar.thread;public class Demo4_Thread { public static void main(String[] args) { //匿名内部类通过Thread开启多线程 new Thread(){ //1.继承Thread类 public void run(){ //2.重写run()方法 for(int i=0; i<100; i++){ //3.将要执行的代码写在run()方法中 System.out.println("aaaaaaa"); } } }.start(); //4.开启线程 //匿名内部类通过Runna开启多线程 new Thread(new Runnable(){ //1.将Runnable的之类对象传递给Thread的构造方法 public void run(){ //2.重写run()方法 for(int i=0; i<100; i++){ //3.将要执行的代码写在run()方法中 System.out.println("bb"); } } }).start(); //4.开启线程 }}
二、为线程设置名字的两种方式
- 通过参数设置名字
- 通过调用setName来设置名字
package com.soar.threadmethod;public class Demo1_Name { public static void main(String[] args) { //argsSetName(); //通过传入参数,给线程改名 Thread t1 = new Thread(){ public void run(){ //this.setName("张三"); System.out.println(this.getName()+" aaaaa"); //张三 aaaaa } }; Thread t2 = new Thread(){ public void run(){ //this.setName("李四"); System.out.println(this.getName()+" bb"); //李四 bb } }; t1.setName("张三"); t2.setName("李四"); t1.start(); //张三 aaaaa t2.start(); //李四 bb } //通过传入参数,给线程改名 public static void argsSetName() { new Thread("高飞"){ public void run(){ System.out.println(this.getName()+" aaaa"); //高飞 aaaa } }.start(); new Thread("高飞飞"){ public void run(){ System.out.println(this.getName()+" bb"); //高飞飞 bb } }.start(); }}
三、获取当前线程的对象
在匿名Runnable中通过使用
Thread.currentThread(), 主线程也可以获取
package com.soar.threadmethod;public class Demo2_CurrentThread { public static void main(String[] args) { new Thread(){ public void run(){ System.out.println(getName()+" aaaa"); //Thread-0 aaaa } }.start(); new Thread(new Runnable(){ public void run(){ //Thread.currentThread()获取当前正在执行的线程 System.out.println(Thread.currentThread().getName()+" bb"); //Thread-1 bb } }).start(); //System.out.println(Thread.currentThread().getName()); //main Thread.currentThread().setName("我是主线程"); System.out.println(Thread.currentThread().getName()); //我是主线程 }}
阅读全文
0 0
- Java_基础—多线程(匿名内部类实现线程的两种方式和设置名字的方法)
- 匿名内部类创建线程的两种方式
- java中匿名内部类的两种实现方式
- java中匿名内部类的两种实现方式
- 匿名内部类的两种实现
- 多线程_匿名内部类的方式实现多线程程序
- 多线程(匿名内部类的方式实现多线程程序)
- 多线程-匿名内部类的方式实现多线程程序
- 多线程实现内部类的两种方式
- [置顶]Java中 实现多线程成的三种方式(继承,实现,匿名内部类)
- java中匿名内部类的两种实现方式 (引用)
- 【引用】java中匿名内部类的两种实现方式
- 匿名内部类实现多线程,内部类调用外部方法中定义的变量
- 线程、线程匿名内部类、解决线程不安全的方式
- Java_基础—多线程程序实现的3种方式Thread和Runnable和Callable
- 【我的Java笔记】多线程_使用匿名内部类的方式实现多线程
- 多线程(线程间通信-多生产者多消费者问题-JDK1.5解决办法-范例),停止线程,线程中方法的区别,匿名内部类实现多线程,线程总结
- 多线程的使用技巧:使用匿名内部类来实现一个线程的创建
- C++重载运算符详解
- python爬虫学习网址
- mysql视图,索引和存储过程
- 欢迎使用CSDN-markdown编辑器
- dubbo
- Java_基础—多线程(匿名内部类实现线程的两种方式和设置名字的方法)
- laravel5.2 发邮件
- ANR 原理与实战技巧
- Android Studio Bmob学生答题考试系统
- 画图
- 移动端touch事件 -- 上拉加载更多
- 对面板数据模型中的一些理解
- CCF 历年真题之分蛋糕(_1703_1_Cake.java)参考答案
- POJ2987-Firing(最大权闭合图)