进程和线程
- 进程是指程序中的每一个执行文件,而线程是指进程当中每一个独立的小任务,线程与线程直线是竞争关系
- 多线程可以充分电脑的CPU资源,简化代码模型,从而提高用户体验度
- main函数被称为主线程
- 使用多线程的步骤
- 定义一个线程(继承Thread类或者实现Runnable接口)
- 创建线程对象
- 调用start方法启动线程
- 关闭线程
public class Mythread extends Thread{
@Override
public void run() {
for (int i = 1; i < 100; i++) {
if (i%2==1) {
System.out.println(i+"\t\t"+Thread.currentThread().getName());
}
}
}
public static void main(String[] args) {
Mythread mt=new Mythread();
mt.start();
}
- 定义线程,继承Thread时资源各论各的,实现Runnable时,资源可以共享
线程同步
- 线程同步时确保在同一时刻只有一个线程访问当前资源
- 同步方法:
public synchronized void run() {
System.out.println(Thread.currentThread().getName()+"正在通过");
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
- 同步代码块:
public void run(){
synchronized(资源 一般是属性名称){}
}
线程安全
- 实现线程同步的类被认为线程安全,否则不安全
- 线程安全的效率低