JUC多线程(三天)之简单版

JUC多线程(三天) 第一天

1. 进程和线程的区别

进程: 有独立的内存空间,进程中的数据存放空间(堆空间和栈空间)是独立的,至少有一个线程

线程: 堆空间是共享的,栈空间是独立的,线程消耗的资源比进程小的多

注意:

​ Java程序的进程里面至少包含两个线程,主线程也就是main()方法线程, 另一个是垃圾回收机制线程.每当使用java命令执行一个类时, 实际上都会启动一个JVM ,每一个JVM实际上就是一个在操作系统中启动了一个线程. java本身具备了垃圾回收机制,所以在Java运行时至少会启动两个线程.

2. 多线程的创建

1.继承Thread类 重写run()方法

       public static void main(String[] args) {
   
           new CreateThread().start();
           new CreateThread().start();
       }
       static class CreateThread extends Thread{
   
           @Override
           public void run() {
   
   //            super.run();
               String name = Thread.currentThread().getName();
               for (int i = 0; i < 5; i++) {
   
                   System.out.println(name+"内容是"+i);
               }
           }
       }

2. 实现Runnable接口 重写run方法

注意:实际上所有的多线程代码都是通过运行Thread的start()方法来运行的。因此,不管 是继承Thread类还是实现Runnable接口来实现多线程,最终还是通过Thread的对象的 API来控制线程的。

    public static void main(String[] args) {
   
          CreateRunnabl createRunnabl = new CreateRunnabl();
          new Thread(createRunnabl).start();
          new Thread(createRunnabl).start();
      }
      static class CreateRunnabl implements Runnable{
   
          public void run() {
   
              String name = Thread.currentThread().getName();
              for (int i = 0; i < 5; i++) {
   
                  System.out.println(name+"内容是"+i);
              }
          }
      }
      //第二种方式
      public static void main(String[] args) throws InterruptedException {
   
    new Thread(new Runnable() {
   
        public void run() {
   
            String name = Thread.currentThread().getName();
            for (int i = 0; i < 5; i++) {
   
                System.out.println(name+"内容是"+i);
            }
        }
    }).start();
    new Thread(new Runnable() {
   
        public void run() {
   
            String name = Thread.currentThread().getName();
            for (int i = 0; i < 5; i++) {
   
                System.out.println(name+"内容是"+i);
            }
        }
    }).start();
}
    }

3. 实现Callable接口


                
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值