杰神之Java多线程基础概念和实现多线程
2018-02-05 21:03
585 查看
线程与进程
线程:进程中负责程序执行的执行单元线程本身依靠程序进行运行
线程是程序中的顺序控制流,只能使用分配给程序的资源和环境
进程:执行中的程序
一个进程至少包含一个线程
单线程:程序中只存在一个线程,实际上主方法就是一个主线程
多线程:在一个程序中运行多个任务,目的是更好地使用CPU资源
线程的实现
继承Thread类
在java.lang包中定义, 继承Thread类必须重写run()方法,例:class MyThread extends Thread{ @Override public void run() { System.out.println("创建1个线程"); }
创建好了自己的线程类之后,就可以创建线程对象了,然后通过start()方法去启动线程。注意,不是调用run()方法启动线程,run方法中只是定义需要执行的任务,如果调用run方法,即相当于在主线程中执行run方法,跟普通的方法调用没有任何区别,此时并不会创建一个新的线程来执行定义的任务。
public static void main(String[] args) { MyThread thread = new MyThread(); thread.start(); }
实现Runnable接口
在Java中创建线程除了继承Thread类之外,还可以通过实现Runnable接口来实现类似的功能。实现Runnable接口必须重写其run方法。例:public class Demo05 { public static void main(String[] args) { Runnable rImpl=new RunnableImpl(); Thread thread = new Thread(rImpl); thread.start(); } } class RunnableImpl implements Runnable{ @Override public void run() { for (int i = 0; i < 50; i++) { System.out.println(Thread.currentThread().getName()+"--"+i); } } }
Runnable的中文意思是“任务”,顾名思义,通过实现Runnable接口,我们定义了一个子任务,然后将子任务交由Thread去执行。注意,这种方式必须将Runnable作为Thread类的参数,然后通过Thread的start方法来创建一个新线程来执行该子任务。如果调用Runnable的run方法的话,是不会创建新线程的,这根普通的方法调用没有任何区别。
相关文章推荐
- 黑马程序员-JAVA基础-多线程概念与创建
- Java第七课 Java的多线程程序进程和线程的概念,实现多线程的两种方式,线程同步的原理,线程的死锁,运用wait和notify来实现producer - consumer关系,线程终止的两种情况。
- 黑马程序员——Java语言基础——04.多线程(1)多线程概念
- 黑马程序员——java基础拾遗之多线程(一) 多线程的两种实现
- java多线程——基础概念及生命周期
- Java的多线程机制系列:(一)总述及基础概念
- Java 多线程(一) 基础知识与概念
- JAVA基础(19) java多线程实现的三种方式
- Java中的基础----多线程的实现
- 黑马程序员---Java基础-多线程的实现
- java多线程基础概念
- java基础之:多线程实现/启动/状态+同步+线程池
- Java基础知识强化之多线程笔记05:Java中继承thread类 与 实现Runnable接口的区别
- Java基础知识强化之网络编程笔记05:UDP之多线程实现聊天室案例
- 黑马程序员--JAVA基础复习之多线程(一)概念与创建方法
- 【java基础总结系列】:java 多线程3种实现方式
- 黑马程序员——java基础之多线程基本概念
- Java 多线程(一) 基础知识与概念
- Java多线程系列01----多线程概念及实现
- 黑马程序员:Java基础——多线程的概念与创建