进程是系统资源分配的基本单位,线程是处理机调度的基本单位。一个进程至少包含一个线程,比如java中运行main方法的主线程。多线程是在一个程序中同时运行多个子任务。多线程可以更好地利于系统资源,提高处理机利用率。 创建线程的方式
- 继承Thread类实现Runnable接口实现Callable接口和FutureTask对象创建线程
1)自定义一个类实现Callable接口并实现其中的call()方法来创建线程任务(Callable的call方法类似于Runnable的run方法)
2)接着把这个线程任务以参数的形式传递给FutureTask,并new出一个FutuerTask对象
3)最后将这个FutureTask对象继续以参数的形式传递给Thread通过线程池创建
内部锁是一种排他锁。 同步方法
同一时间只允许一个线程调用该方法。
public synchronized void test(){
System.out.println("test");
}
同步代码块
锁的种类相同则相互争用,不同则各自执行。 类锁
synchronized (Main.class) {
System.out.println("method...");
}
对象锁
synchronized (objMain) {
System.out.println("method...");
}



