java中线程的简单的线程的多线程的一个区别

public class Lesson5
{
 private static int i = 0;
 public static void main(String [] args)
 {
  /* 当我们运行main函数的时候,我们就是在运行主函数
   * 因为这是一个单线程,所以只有在运行完LessonDemo1的run函数的代码之后
   * 才会去运行Lesson5的里面的代码
   * 但是如果我们把LessonDemo1放在另外一个线程中
   * 那么LessonDemo1和Lesson5就会运行两个不同的线程中
   * 其实运行在两个不同的线程中,那么这两个线程的代码就是相对独立的运行
   *
   *
   */
  new LessonDemo1().run();
  while(i < 10)
  {
   System.out.println("Main():" + Thread.currentThread().getName());
   i++;
  }
 }
}


class LessonDemo1
{
 private int j = 0;
 public void run()
 {
  while(j < 10)
  {
   System.out.println("LessonDemo1:" + Thread.currentThread().getName());
   j++;
  }
 }
}

 

 

/*
 *这是一个多线程的实例:首先我们在主线程中开启了另外一个线程
 *然后在主线程中又执行了另外的代码
 *那么此时我们的主线程和我们自己建立的另外一个线程,就有了两个线程
 *其实,我们建立的线程并不是在同时运行,而是看谁抢到cpu的内存空间,我们就运行谁
 *所以这两个线程是在不断的抢夺之中,所以我们打印出来的线程名称也是相互交换的。
 */
class Lesson5TestDemo1
{
 private static int i = 0;
   public static void main(String [] args)
 {
   new Lesson5TestDemo2().start();
   while(i < 10)
  {
   System.out.println("LessonTestDemo1:" +Thread.currentThread().getName());
   i++;
   }
 }
}


class Lesson5TestDemo2 extends Thread
{
 private int j = 0;
 public void run()
 {
  while(j < 10)
  {
   System.out.println("LessonTestDemo2" + Thread.currentThread().getName());
   j++;
  }
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值