一、程序、进程与线程的区别
1.1、程序
利用某种编程语言,结合某些开发工具开发出来的应用程式,没运行前是静态的。
1.2、进程
正在运行的程序,动态的,进程与进程间独立存在,数据独享。
1.3、线程:
进程在运行过程中的走向
二、实现多线程
2.1、实现Runnable接口
public class A implements Runnable {
@Override
public void run() {
System.out.println("A线程开始了");
}
}
/*调用时*/
A a = new A();
new Thread(a).start();
2.2、继承Thread类
public class B extends Thread {
@Override
public void run() {
System.out.println("B线程开始了");
}
}
/*调用时*/
B b = new B();
b.start();
三、线程三要素
3.1、CPU
3.2、code(执行代码)
3.3、data(线程执行过程中调用的资源)
四、线程并发
4.1、出现原因
多个线程同时操作同一个数据,随着时间的切换,导致数据混乱。
4.2、解决方法
(1)资源加锁(Synchronized)
(2)增加一个锁对象