使用匿名内部类实现线程,new Thread(new Runnable(){}) 和 new Thread(){}

痛定思痛。 2022-09-19 00:27 427阅读 0赞

就是利用匿名内部类实现,补充下,做个笔记吧

  1. import java.util.Date;
  2. public class ThreadInnerClass {
  3. /**
  4. * @主要看使用内部类怎样实现一个线程
  5. */
  6. public static void main(String[] args) {
  7. // TODO Auto-generated method stub
  8. new Thread(new ThreadInner()).start();//相当于new Thread(实现Runnable接口)
  9. // new Thread(new ThreadInner(),"线程1").start();//同上,(取个名字)相当于new Thread(实现Runnable接口),ThreadInner对象操作线程
  10. // new ThreadInner().run();//线程也会运行,不过是这个main在操作线程。
  11. /*
  12. new Thread(new Runnable(){//相当于是实现runnable接口
  13. @Override
  14. public void run(){
  15. while(true)
  16. {
  17. try {
  18. Thread.sleep(1000);
  19. } catch (InterruptedException e) {
  20. // TODO Auto-generated catch block
  21. e.printStackTrace();
  22. }
  23. System.out.println("1");
  24. }
  25. }
  26. }).start();
  27. */
  28. /*
  29. new Thread(){//直接重写run方法
  30. @Override
  31. public void run(){
  32. System.out.println("2");
  33. }
  34. }.start();
  35. */
  36. /*
  37. new ThreadInner2(){//相当于继承Thread,重写run方法。和上面直接重写run方法同理
  38. @Override
  39. public void run(){
  40. System.out.println("3");
  41. }
  42. }.start();
  43. */
  44. }
  45. }
  46. class ThreadInner implements Runnable{
  47. @Override
  48. public void run(){
  49. while(true)
  50. {
  51. try {
  52. Thread.sleep(1000);
  53. } catch (InterruptedException e) {
  54. // TODO Auto-generated catch block
  55. e.printStackTrace();
  56. }
  57. System.out.println(Thread.currentThread().getName()+" " + new Date());
  58. }
  59. }
  60. }
  61. class ThreadInner2 extends Thread{
  62. }

发表评论

表情:
评论列表 (有 0 条评论,427人围观)

还没有评论,来说两句吧...

相关阅读