java线程知识点

程序,进程,线程
线程和进程的关系
创建线程
Thread类中方法
线程优先级
线程状态
守护线程
多线程的概念
线程同步
Lock
线程通信
新增创建线程方式
一. 程序 , 进程 , 线程
程序:是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码.
进程:就是正在执行的程序,从Windows角度讲,进程是操作系统进行资源分配 的最小单位.
线程:进程可进一步细化为线程,是一个进程内部的最小执行单元,是操作系统进行任务调度的最小单元,隶属于进程

二.线程和进程的关系
一个进程可以包含多个线程,一个线程只能属于一个进程,线程不能脱离进程
而独立运行;
每一个进程至少包含一个线程(称为主线程);在主线程中开始执行程序,
java程序的入口main()方法就是在主线程中被执行的。
在主线程中可以创建并启动其它的线程;
一个进程内的所有线程共享该进程的内存资源
三.创建线程
继承Thread类的方式
实现Runnable接口的方式
继承Thread类的方式:
代码实现方式如下:
public class Mythread extends Thread{//thread类是java提供的对线程进行管理的类
    @Override
    public void run() {
        for (int i = 0; i <1000 ; i++) {
            System.out.println("thread:"+i);
        }
    }
}
public class text {
    public static void main(String[] args) {
        System.out.println("main开始");
        Mythread mythread = new Mythread();//创建了一个线程
                  mythread.start();//这里不能调用自己重写的run方法,如果调用了run相当于只有一个主线程,没有执行自己创建的线程
        for (int i = 0; i <1000 ; i++) {
            System.out.println("main结束");
        }

    }
}

实现Runnable接口的方式:

java.lang.Runnable接口中仅仅只有一个抽象方法:
   public void run()
可以通过实现Runnable接口的方式来实现线程,只需要实现其中的run方法即可
Runnable接口的存在主要是为了解决Java中不允许多继承的问题
定义:
public class MyThread implements Runnable{
@Override
public void run() {
……
}
}
线程执行任务
MyThread r = new MyThread();
创建一个线程作为外壳,将r包起来,
Thread thread = new Thread(r);
thread.start();
继承方式和实现方式的联系与区别
继承Thread: 线程代码存放Thread子类run方法中。
实现Runnable:线程代码存在接口的子类的run方法。
实现Runnable的好处:
1)避免了单继承的局限性
2)多个线程可以共享同一个接口实现类的对象,非常适合多个相同线程来处
理同一份资源。

四.Thread 类中方法
void start() 启动线程
final String getName() 返回线程的名称
final void setPriority(int newPriority) 设置线程的优先级
final int getPriority() 返回线程的优先级
final void join()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java线程是指在一个程序中可以同时执行多个线程,并且每个线程独立运行,互不干扰。Java线程Java 平台提供的重要特性,常用于提高程序并发性能和解决复杂问题。 Java线程的重点知识点包括以下几个方面: 1. 线程的创建和启动:可以通过继承 Thread 类或实现 Runnable 接口来创建线程,并使用 start() 方法启动线程。 2. 线程的生命周期:线程的生命周期包括新建、就绪、运行、阻塞和死亡等阶段,可以通过调用 sleep()、wait()、join() 等方法来控制线程的状态转换。 3. 线程同步:多个线程之间可能会共享资源,为了保证数据的一致性和避免冲突,需要使用同步机制,如 synchronized 关键字、Lock 接口等。 4. 线程间通信:多个线程之间可以通过共享内存或者消息传递的方式进行通信,如使用 wait()、notify()、notifyAll() 等方法。 5. 线程池:线程池可以管理和复用线程,减少线程的创建和销毁开销,提高系统的性能。 6. 线程安全性:在多线程环境下,存在资源竞争和线程安全性问题,需要采取相应的措施来保证线程的安全性,如使用 synchronized 关键字、volatile 关键字等。 7. 线程调度:Java 提供了线程调度器来控制线程的执行顺序和优先级,可以使用 yield()、join()、setPriority() 等方法进行调度。 8. 线程异常处理:在多线程环境下,线程的异常需要处理和捕获,可以使用 try-catch 块来捕获异常。 综上所述,Java线程Java 平台提供的重要特性,掌握多线程的概念和相关知识点可以帮助开发者提高程序的并发性能和解决复杂问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值