java学习总结(线程基础)

本文介绍了线程的基本概念,包括进程与线程的关系、线程的创建方式及启动方法。重点讲解了通过实现Runnable接口和继承Thread类来创建线程的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

线程学习总结

1.基础知识
 1.每一个程序就是一个进程,一个进程有一个或者多个线程组成。
 2.进程之间的通信,一般要通过网络。如在异地的两个QQ程序之间的通信,这就是两个进程通过网络进行数据交换。
 3.进程中的各个线程可以共享同一个进程的资源数据。
2.线程基础
 1.Runnable接口是实现线程的接口。
 2.用Thread类可以实例化一个线程,Thread就是实现了Runnable接口的线程类。
 3.我们要重写线程类中的run()方法。
 4.线程的启动:通过调用线程对象的start()方法可以启动线程,让线程执行线程类中的run()方法。
 
3.线程的创建
 1.如果一个类A继承了Thread类,那么要实例化线程类对象,就可以直接
  

A a = new A();

  2.如果一个类B是实现了Runnable接口,那么要实例化线程类对象,格式是
  

B b = new B();//先实例化B类
  Thread th = new Thread(b);//再创建线程类对象,并以B的实例化对象b作为参数

  3.线程的启动,调用线程对象的start()方法。
 

 a.start();
  th.start();

  4.无论是继承了Thread类还是实现了Runnable接口,其实都是实现了Runnable接口。我们要重写类中的run()方法。
 5.下面是以内部类的方式创建线程的实例
  

public class InterThreadTest {
 /**
  * 测试匿名线程创建,以内部类的方式创建线程
  * @author XMH
  * @param args
  */
 // 主程序入口
 public static void main(String[] args) {
  InterThreadTest interTT = new InterThreadTest();
  for (int i = 0; i < 10; i++) {
   // 调用本内中的方法
   interTT.startMyThread(i);
  }
 }
 public void startMyThread(int threadID) {
  // 要传入匿名线程内使用的参数必须定义为final型
  final int id = threadID;
  // 内部的线程类
  java.lang.Runnable runner = new java.lang.Runnable() {
   public void run() {//重写run()方法
    boolean flag = true;
    while (flag) {
     try {
      Thread.sleep(3000);//线程休眠3000毫秒,即3秒
      // 在匿名线程内中调用类中的其他方法
      otherMethod(id);

     } catch (InterruptedException e) {
      e.printStackTrace();
     }
    }
   }
  };
  // 最后启动这个内部线程
  Thread t = new Thread(runner);
  t.start();
 }
 private void otherMethod(int i) {
  System.out.println("可以直接调用内中的其他方法" + i);
 }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值