Java基础复习超详细笔记--8线程

进程:一个程序就是一个进程
进程包括线程,以游戏为例,当我们需要多个任务同时进行的时候,就可以使用多线程。

方法一(继承Thread类):

Class MyTread extends Tread{
    //重写run方法
    public void run(){
    
    }
}

启动:

MyThread thread=new MyThread();
thread.start();

方法二(实现Runnable接口):

public class MyThread2 implements Runnable{
    public void run(){
        //重写run方法
    }
}

启动:

MyThread2 runnable=new MyThread();
Thread t=new Thread(runnable,"线程名");
t.start();

好处:可以让多个线程共享数据,可以继承其他类

线程操作

//获得优先级
thread.getPriority();
//设置线程优先级
thread.setPriority(1~10之间);

//获得当前线程
Thread.currentThread();
//获得线程名字
thread.getName();

线程休眠:

Thread.sleep(毫秒);

将线程加入当前线程:

thread.jion();

设置守护线程:

//在start之前
thread.setDaemon(true);

线程中断:

//杀死
thread.stop();
//设置为中断状态,但线程依旧运行,需要自己手动编写
thread.interrupt();

上锁

方法一:

//创建一个锁对象
public Object lock=new Object();
//上锁
synchronized(lock){
    //执行的内容
}

方法二:

//创建锁对象
ReentrantLock lock=new ReentrantLock();
//加锁
lock.lock();
//解锁
lock.unlock();

线程组

//创建
ThreadGroup tg=new ThreadGroup();
//获得线程组
ThreadGroup tg=thread.getThreadGroup();
//获得名字
tg.getName();
//使用
new Thread(线程组,runnable);

定时器

//创建定时器任务类
class MyTimer extends Timer{
    public void run(){
    //重写
    }
}
//使用
Timer t=new Timer();
t.schedule(new MyTimer(),2000(2秒后开始),3000(每3秒一次));
//销毁
t.cancel();

 

你可能感兴趣的:(Java)