java多线程简介及线程创建方式
2017-09-12 23:04
363 查看
一 java多线程简介
程序是为了完成特定任务、用某种语言编写的一组指令的集合。
进程是程序的一次执行过程,是系统进行调度和资源分配的一个独立单位。
线程是比进程更小一级的执行单元,线程不能独立存在,必须存在于进程中,各线程间共享进程空间的数据。
在一个程序里面可以只运行一个线程,也可以创建多个线程运行。如图所示:
多线程通常是用来进行并行计算的。什么意思呢,就是把一个任务分解成多个子任务同时执行,提高效率。
举个例子:假如有10块砖需要从A地搬到B地,一次搬一块,如果用一个人来搬,假如来回一趟需要10分钟,那么
搬完10块砖就需要100分钟。如果现在派10个人同时来搬这10块砖,那么就只需要消耗10分钟就可以完成搬砖任务。
所以多线程是以多消耗系统资源的方式来换取程序性能上的提升。
java中线程的生命周期图解:
二 java线程的创建
java中创建线程有两种方式,一种是继承Thread,另一种是实现Runnable接口。不多解释,直接来看代码:
java线程的常用方法如图所示:
程序是为了完成特定任务、用某种语言编写的一组指令的集合。
进程是程序的一次执行过程,是系统进行调度和资源分配的一个独立单位。
线程是比进程更小一级的执行单元,线程不能独立存在,必须存在于进程中,各线程间共享进程空间的数据。
在一个程序里面可以只运行一个线程,也可以创建多个线程运行。如图所示:
多线程通常是用来进行并行计算的。什么意思呢,就是把一个任务分解成多个子任务同时执行,提高效率。
举个例子:假如有10块砖需要从A地搬到B地,一次搬一块,如果用一个人来搬,假如来回一趟需要10分钟,那么
搬完10块砖就需要100分钟。如果现在派10个人同时来搬这10块砖,那么就只需要消耗10分钟就可以完成搬砖任务。
所以多线程是以多消耗系统资源的方式来换取程序性能上的提升。
java中线程的生命周期图解:
二 java线程的创建
java中创建线程有两种方式,一种是继承Thread,另一种是实现Runnable接口。不多解释,直接来看代码:
class CreateByThread extends Thread{ String[] colors={"red","orange","yellow", "green", "blue","indigo","purple","black","white"}; public void run() { for(int i=0;i<colors.length;i++){ try { System.out.println(colors[i]); Thread.sleep((long)(Math.random()*2000)); } catch (InterruptedException e) { e.printStackTrace(); } } } } class CreateByRunnable implements Runnable{ String[] colors={"红色","橙色","黄色", "蓝色", "绿色","靛色","紫色","黑色","白色"}; public void run() { for(int i=0;i<colors.length;i++){ try { System.out.println(colors[i]); Thread.sleep((long)(Math.random()*3000)); } catch (InterruptedException e) { e.printStackTrace(); } } } } public class ThreadCreate { public static void main(String[] args) { CreateByThread cbt=new CreateByThread(); Thread cbr=new Thread(new CreateByRunnable()); cbt.start(); cbr.start(); } }运行结果如下:
red 红色 orange yellow 橙色 green blue 黄色 indigo 蓝色 purple black 绿色 white 靛色 紫色 黑色 白色可以看出,两个线程运行没有啥规律,相互竞争系统资源(CPU)运行。
java线程的常用方法如图所示:
相关文章推荐
- Java基础:多线程之线程创建的两种方式
- 多线程_Thread类简介及创建线程的两种方式
- Java多线程之创建线程的三种方式比较
- Java学习之多线程--创建线程的三种方式
- Java【多线程知识总结(5)】比较继承Thread类创建线程和实现Runnable接口创建线程这两种方式
- Java多线程编程小结+java中创建线程的的几种方式
- java多线程总结一:线程的两种创建方式及优劣比较
- java多线程总结一:线程的两种创建方式及优劣比较
- Java多线程基础学习之线程的创建方式总结
- java多线程总结一:线程的两种创建方式及优劣比较
- Java多线程:创建线程的两种实现方式
- Java 中的多线程-两种创建方式,定时器的应用,线程的安全问题可以用银行转账来说明
- java多线程总结一: 线程的两种创建方式及优劣比较
- java多线程 -- 创建线程的第三者方式 实现Callable接口
- JAVA·多线程:创建线程的两种方式
- java多线程总结一: 线程的两种创建方式及优劣比较
- 【java多线程与并发库】---传统java多线程<2> 线程创建方式
- java 多线程(一)---创建线程的三种方式Thread,Runnable,Callable与Future
- java中的多线程——线程创建方式、线程互斥和线程间通信
- 【java多线程与并发库】---传统java多线程<2> 线程创建方式