进程:一个程序就是一个进程
进程包括线程,以游戏为例,当我们需要多个任务同时进行的时候,就可以使用多线程。
方法一(继承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();