第一章 Java多线程技能

线程是进程中独立运行的子任务。

实现多线程的方式:
1.继承Thread类。
2.实现Runnable接口。

synchronized关键字:当一个线程调用run方法时,先判断有没有上锁,如果上锁,说明有其他线程再执行run方法。必须等其他线程结束后才能调用run方法。synchronized可以在任意对象和方法上加锁,加锁的这段代码叫做“互斥区”或者“临界区”。当一个线程想要执行同步方法里的代码,就会去争抢这把锁。

isAlive()判断线程是否为活动状态。活动状态是指正在运行或者准备运行状态。

停止线程。
this.interrupted():测试当前线程是否为中断状态,线程的中断状态由该方法清除,连续两次调用返回false。
this.isInterrupted():测试线程是否为中断状态,不清除状态标志。
yield():当前线程让出cpu资源。

线程的优先级:1~10,10个等级。等级越高,优先级越高。
线程的优先级具有继承性,A线程启动B线程,AB线程的优先级是一样的。
并不是优先级高的线程全部执行完才会执行优先级低的线程。

守护线程:Java中有两种线程,用户线程和守护线程。如果用户线程不存在了,那么守护线程会自动销毁。垃圾回收线程就是典型的守护线程。setDaemon()方法,可以把线程设置为守护线程。

你可能感兴趣的:(第一章 Java多线程技能)