线程和进程的关系:操作系统可以执行多个任务,每个任务是一个进程;一个进程可以包括一个或多个线程。进程之间内存单元独立,相同进程下的线程可以共享内存单元。
并发(concurrency)和并行(parallel)是两个概念:
一、线程创建的三种方式:
1、继承Thread类创建线程
1)定义Thread类的子类,并重写该类的run()
方法,run()
方法的方法体就代表了线程需要完成的任务。
2)创建Thread子类的实列,即创建了线程对象。
3)调用线程对象的start()
方法来创建并启动多线程。
二、实现runable接口创建线程类
1)定义Runable接口的实现类,并重写该接口的run()方法,run()方法的方法体就是该线程的执行体。
2)创建Runable实现类的实例,并将此实例作为Thread的target来创建Thread的对象,该Thread对象是线程对象。
//创建Runable实现类
Runable st=new IRunable()
//创建线程对象
new Thread(st,“thread_name”);
3)调用线程对象的start()
方法来启动多线程。
三、使用Callable和Future创建线程
1)创建Callable接口的实现类,实现call()方法,call方法为线程执行体并有返回值。
2)创建Callable实现类的实列,用FutureTask包装Callable对象。
3)将FutureTask对象作为Thread的target来创建Thread的对象创建并启动线程。
4)调用FutureTask对象的get()方法获得子线程结束后的返回值。
java基础之多线程
最新推荐文章于 2024-03-10 23:38:03 发布