进程与线程
- 进程是系统资源分配的基本单位,线程是处理机调度的基本单位。
- 一个进程至少包含一个线程,比如java中运行main方法的主线程。
- 多线程是在一个程序中同时运行多个子任务。
- 多线程可以更好地利于系统资源,提高处理机利用率。
创建线程的方式
- 继承Thread类
- 实现Runnable接口
- 实现Callable接口和FutureTask对象创建线程
1)自定义一个类实现Callable接口并实现其中的call()方法来创建线程任务(Callable的call方法类似于Runnable的run方法)
2)接着把这个线程任务以参数的形式传递给FutureTask,并new出一个FutuerTask对象
3)最后将这个FutureTask对象继续以参数的形式传递给Thread - 通过线程池创建
加锁
- synchronized 关键字,为方法加内部锁,效果为同一时间只允许一个线程调用该方法。
public synchronized void test(){
//.........
}