1、 线程中的主要方法
a) isAlive() 判断线程是否还活着,即线程是否未终止
b) getPriority() 获得线程的优先级
c) setPriority() 设置线程的优先级
d) Thread.sleep() 设置线程休眠的时间
e) jion() 把当前线程与该线程合并
f) yield() 让出CUP
g) 线程的优先级
i. Thread.MIN_PRIORITY = 1 最小优先级
ii. Thread.NORM_PRIORITY = 5 默认优先级
iii. Thread.MAX_PRIORITY = 10 最大优先级
2、 线程的中断
a) Stop() 已过时,基本不用
b) Interrupt() 简单,粗暴
c) 推荐使用的是设置标志位
3、 线程的高级操作
a) wait() 使当前线程等待,直到被其线程唤醒
b) notify() 唤醒等待的线程
4、 实现同步的两种方式(主要是synchronized的使用)
a) 锁代码块
i. Synchronized(object){要锁的代码块}
b) 锁方法(推荐使用)
i. Synchronized void method(){}
1、 Java多线程的实现主要有两个方式,一个是通过继承Thread类,一个是Runnable接口的实现。在使用多线程时主要用到两个方法一个是重写run()方法,用来实现将要执行的代码。第二个方法是start(),用来启动线程。
2、 Thread类的实现
public class ThreadDemo extends Thread{
public void run(){
for(int i = 0; i < 20; i++){
System.out.println(Thread.currentThread().getName()+i);
}
}
public static void main(String[] args) {
ThreadDemo td1 = new ThreadDemo();
td1.setName("线程1: ");
ThreadDemo td2 = new ThreadDemo();
td2.setName("线程2: ");
//获取优先级
System.out.println("线程一的优先级为:"+td1.getPriority());
//设置线程的优先级优先级的值为0 - 10 从小到大
td1.setPriority(MIN_PRIORITY);
td2.setPriority(MAX_PRIORITY);
td1.start();
td2.start();
}
}
1、 Runnable接口的实现
ublic static void main(String[] args) {
TicketRunnable tr = new TicketRunnable();
Thread td1 = new Thread(tr);
td1.setName("窗口1");
Thread td2 = new Thread(tr);
td2.setName("窗口2");
Thread td3 = new Thread(tr);
td3.setName("窗口3");
td1.start();
td2.start();
td3.start();
}