博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java thread 多线程_java用Thread方式创建多线程
阅读量:1542 次
发布时间:2019-04-21

本文共 1016 字,大约阅读时间需要 3 分钟。

进程:一个正在执行的程序,每一个进程都有一个执行顺序,该

顺序是一个执行路径,或者叫一个控制单元。

线程:进程中一个独立的控制单元。线程控制着进程的执行。

一个进程中至少有一个线程。

java VM中至少有一个线程负责java程序的执行。

而且这个线程运行的代码存在于main方法中。该线程为主线程。

扩展,jvm启动了两个线程,一个主线程,一个垃圾回收机制的线程。

1.怎样创建一个多线程?

第一种方法:通过继承Thread类的方法

1.继承Thread类

2.重写Thread类的run()方法

目的:将自定义的代码存储在run()方法中,让线程运行。

3.调用线程的start()方法。

(了解:多核编程,单核cpu的时候多线程的切换由线程控制,多核cpu下

则每个cpu可以同时处理多线程,单个cpu在同一时间只能执行一个线程,

多核下内存是瓶颈)

多线程具有随机性:

因为多线程都获取cpu的执行权。cpu执行到谁,谁就执行。明确一点,在某一时刻

只能有一个程序在运行。(多核除外),cpu在做着快速的切换,以达到看上去是同

事运行的效果。至于每个线程执行多久,cpu说了算,(其实我们可以控制执行时间爱你)

为什么要覆盖run()方法?

Thread类用于描述线程。该类定义了一个功能,用于存储线程要运行的代码。该存储功能就是run方法。

也就是说Thread类中的run()方法用于存储线程要运行的代码。

//实例:

class Demo extends Thread

{

public void run(){

for(int x=0;x<200;x++){

System.out.println("run--------------"+x);

}

}

}

class ThreadDemo

{

public static void main(String[] args)

{

Demo d=new Demo();//创建好了一个线程

/*

d.start()和d.run()的区别?

*/

d.start();//开启线程并执行该线程的run()方法。运行线程是随机的

//d.run();//仅仅是对象调用方法。线程创建了,却并没有运行。运行的结果每次都是一样的。

for(int x=0;x<200;x++){

System.out.println("HelloWold----------"+x);

}

}

}

转载地址:http://iordy.baihongyu.com/

你可能感兴趣的文章
Centos7 开机自动加载 模块 ko
查看>>
Mybatis plus 多表联查字段名重复处理 Column 'xxxx' in where clause is ambiguous
查看>>
springboot H2数据库持久化配置
查看>>
SpringCloud Consul 程序控制服务上下线
查看>>
Springboot 实现启动后动态修改配置
查看>>
车架号OCR识别算法
查看>>
车牌识别系统
查看>>
是时候给自己搞一台示波器了
查看>>
减小波形噪声的方法-示波器
查看>>
示波器探头介绍
查看>>
示波器基础二十问(上)
查看>>
示波器基础知识二十问(下)
查看>>
示波器安全使用原则
查看>>
麦科信示波器直播回放相关汇总(不断更新)
查看>>
用示波器测量福特福克斯智能交流发电机波形
查看>>
用示波器测量汽车COP独立点火信号与简要分析
查看>>
汽车氧传感器信号示波器测量(锆氧带加热器)
查看>>
通过示波器主板讲解示波器原理
查看>>
如何用示波器测量汽车爆震传感器及波形分析
查看>>
用示波器测量汽车节气门传感器信号的方法
查看>>