首先介绍一下基本概念
首先从字面上理解一下:"多线程",,就是:多,线程,组成。多就不用解释了,下面说说线程:
线程:
说到线程,我们可以想到一个相近的词语:过程,过程就是做一件事情需要完成的操作,串起来就是叫过程;那么就是完成一个功能的操作指令集合,执行这些指令的过程就是一个线程。
百度百科对线程的解释:
线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务
比如说:火车站卖票,一个窗口就是单线程,多个窗口就是多线程
进程:
进程就是一个运行中的应用程序,像我们运行中的QQ,微信,idea,就是一个进程
Java里的多线程
介绍多线程之前先说说单线程,直接上代码
public class ThreadTest {
public static void main(String[] args) {
buy();
}
private static void buy() {
int count = 100;
while (count > 0) {
System.out.println("当前售出第: " + count + "张票,余票为:" + --count + "张");
}
}
}
执行mian方法,就是一个单线程
然后看看多线程代码,直接上代码
public class ThreadTest implements Runnable{
private int count = 1000;
public static void main(String[] args) {
ThreadTest thread = new ThreadTest();
for(int i = 0; i < 100; i++) {
new Thread(thread).start();
}
}
@Override
public void run() {
while (count > 0) {
System.out.println("当前线程为:" + Thread.currentThread().getName() + ", 当前售出第: " + count + "张票,余票为:" + --count + "张");
}
}
}
这就是多线程了,执行main方法,开启100个线程卖票,当然这可能也会线程安全问题,这里我们先不管
这就是多线程了