21day
多线程
java.Thread
程序。进程。线程
Process与Thread
-
程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念
-
进程是执行程序的一次执行过程,她是一个动态的过程,是系统资源分配的单位
-
通常在一个进程中可以包含若按各线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程是CPU调度和执行的单位
注意:很多多线程是模拟出来的,真正的多线程是指有多个cpu,即多核。如服务器。如果模拟出来的多线程,即在一个cpu的情况下,在同一个时间点,cpu只能执行一个代码,因为切换的很快,所以就有了同时执行的错觉。
三种创建方式
Thread class :继承Thread类(重点)
Runnable接口:实现Runnable接口(重点)
Callable接口:实现Callable接口(了解)
package com.wang.lesson01;
//创建线程方式一,继承Thread类 重写run()方法 调用start重启线程
public class TestThread extends Thread{
public static void main(String[] args) {
//主方法 main线程
//创建一个线程对象
TestThread testThread = new TestThread();
//调用start()方法 开启线程
testThread.start();
//testThread。run();
for (int i = 0; i < 2000; i++) {
System.out.println("我在学习多线程---"+i);
}
}
调用run方法,执行run方法
调用start方法,开启线程
网图下载
package com.wang.lesson01;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.net.URL;
//练习Thread 实现多线程同步下载
public class TestThread2 extends Thread{
private String url;//网络图片地址
private String name;//网络图片保存的名字
public TestThread2(String url,String name){
this.url = url;
this.name = name;
}

浙公网安备 33010602011771号