`
jiao13953900900
  • 浏览: 32213 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

黑马程序员-java多线程学习总结

    博客分类:
  • java
阅读更多

---------------------- android培训java培训、期待与您交流! ----------------------

 

黑马程序员-多线程

 

 

 

 

进程:是一个正在执行中的程序,每一个进程执行都有一个执行顺序。该顺序是一个执行路径,或者叫控制单元。

线程:就说进程中独立的控制单元,线程在控制着进程的执行。

每一个进程中至少有一个线程在执行。

主线程:当JVM启动的时候会有一个进程java.exe运行,该进程中至少有一个线程负责Java程序的执行,而且这个线程的代码存在于main方法中,该线程称为主线程。

 

 

 

1.定义一个线程。

通过对api的查找功能我们知道Java提供了对线程这类事物的描述,就是Thread类。Thread类用于描述线程,该类定义了一个功能,用于存储线程要运行的代码,该存储功能就是run()方法。所以,创建线程的第一种方法就是继承Thread类。

首先,定义继承Thread类。

然后,复写Thread类中的run()方法,将自定义的代码存放到线程。

最后,调用线程的start()方法,启动线程和调用run()方法。

 

class Duo extends Thread

{

String name;

Duo(String name)

{

this.name=name;

}

public void run()

{

for(int x=0;x<100;x++)

System.out.println(name+"进程二----"+x);

}

}

class Zhu

{

public static void main(String[] args)

{

Duo d=new Duo("asda");

d.start();

 

for(int x=0;x<100;x++)

System.out.println("进程一----"+x);

}

}

 

 

 

2.线程在运行中有多种状态

冻结状态:通过使用sleep()和wait()的方式进入冻结状态,处于该状态的进程将临时停止,使用sleep()方法进入冻结,可以在sleep()方法的实参中设置冻结时间,单位为毫秒,若使用wait()方法进入的冻结,则必须使用notify()方法进行唤醒操作。

消亡状态:表示一个线程从此结束,可以使用stop()方法实现,或者等到run()方法结束后自动消亡进程。

临时状态:具备运行资格,但是没有执行权,是等待执行权的一种状态。

 

 

 

 

 

 

3.定义线程的名称。

每一个线程都具有自己的默认名称,表示为Thread-0;(0为编号,从0开始。)

使用getName()方法可以获取线程名称。

使用setName()方法可以设置线程名称。

static Thread currentThread()可以获取当前线程对象。

Thread.currentThread().getName()等价于this.getName(),都可以获取当前线程对象的线程名称。

 

 

 

class Duo extends Thread

{

private String name;

Duo(String name)

{

super(name);

}

public void run()

{

for(int x=0;x<100;x++)

System.out.println(Thread.currentThread().getName()+"进程----"+x);

}

}

class Zhu

{

public static void main(String[] args)

{

Duo d1=new Duo("d1");

Duo d2=new Duo("d2");

Duo d3=new Duo("d3");

d1.start();

d2.start();

d3.start();

 

}

}

 

 

设置线程的名称还可以使用构造函数的初始化来完成。

 

class Duo extends Thread

{

private String name;

Duo(String name)

{

this.name=name;

}

public void run()

{

for(int x=0;x<100;x++)

System.out.println(name+"进程----"+x);

}

}

class Zhu

{

public static void main(String[] args)

{

Duo d1=new Duo("d1");

Duo d2=new Duo("d2");

Duo d3=new Duo("d3");

d1.start();

d2.start();

d3.start();

 

}

}

 

 

---------------------- android培训java培训、期待与您交流! ----------------------

分享到:
评论

相关推荐

    黑马程序员-java多线程技术01

    NULL 博文链接:https://huangminwen.iteye.com/blog/1157983

    传智播客.黑马程序员《Java 基础入门》课后习题答案

    1、 面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。 2、 JRE(Java Runtime Environment,Java 运行时环境),它相当于操作系统部分,提供了 Java 程序运 行时所需要的基本条件和许多 Java ...

    黑马程序员–Java多线程讲解笔记

    当一个进程中线程有多个时,是多线程。  为什么要用多线程  1,让计算机"同时"做多件事情,节约时间。  2,后台运行程序,提高程序的运行效率.。  3,多线程可以让程序"同时"处理多个事情。  4,...

    黑马程序员_张孝祥_Java多线程与并发库 视频+代码+资料

    黑马程序员_张孝祥_Java多线程与并发库,视频+代码+资料

    黑马程序员_张孝祥_Java多线程与并发库

    黑马程序员_张孝祥_Java多线程与并发库,老师讲的非常仔细,老师很有耐心.欢迎大家下载学习.

    图解java多线程设计模式

    java.util.concurrent包、synchronized关键字、Swing框架、Java内存模型等内容也均有涉及,不仅能够了解Java多线程的相关知识,还可加深对Java语言的理解。 本书适合以下读者阅读 a.对多线程感兴趣的人 b.对Java...

    图解java多线程设计模式2017年8月最新版

    264张图表 + 300段Java示例程序 = 轻松学习多线程编程 日本经典多线程入门书,原版长销11年! 本书适合以下读者阅读 a.对多线程感兴趣的人 b.对Java编程感兴趣的人 c.对设计模式感兴趣的人 d.对面向对象开发感兴趣的...

    java拼图游戏源码.zip

    这是一个java写的拼图游戏,用了swing、多线程等知识,可以设置行数列、列数、还有使用多线程写的游戏动画,拼图的图块具有磁贴设计,代码封装性较强,容易移植,纯原创。

    黑马程序员 安卓学院 万元哥项目经理 分享220个代码实例

    |--利用FinalHttp实现多线程断点续传 |--加密之MD5 |--动画Animation详解 |--动画之view左右抖动 |--动画之移动动画 |--动画之组合动画 |--动画之缩放动画ScaleAnimation |--反序列化对象 |--发送短信 读天气 调音量...

    传智播客_Java培训_毕向东_Java基础[05-多线程]

    传智播客_Java培训_毕向东_Java基础[05-多线程]系黑马程序员_毕向东_Java基础视频教程

    《Java基础案例教程(第2版)》课后习题答案1

    第1章 Java开发入门一.填空题1. 面向对象,SUN 2. JavaSE,JavaEE,JavaME3.面向对象、跨平台性、支持多线程4. JDK5.bin

    java并发库高级应用源码--张孝祥

    java并发库thread使用,传统线程技术、定时器技术、线程互斥技术,同步通讯技术、多线程共享数据、并发库应用,线程锁技术,阻塞锁、阻塞队列,线程池等应用

    java7源码-Java-concurrent:Java并发编程

    黑马程序员——Java异步课程源码 plugin Lombok logback.xml 说明 课堂代码主要在 case_java8 子模块内,按章节划分, io.github.hank.java.concurrent.n2 - 同步与异步 io.github.hank.java.concurrent.n3 - Java...

    图解java多线程设计模式 2017年8月最新版

    这本书的pdf文件有162M,是最新版高清的pdf,网上原书售价60多元,这里提供的附件是百度云的链接地址。

    拼图游戏 (源码+所有文件)

    萌新做的一个简单的Java拼图游戏 启动类:pers.sept.jigsaw1.swing下的...多线程。 下拉列表选择数字可以切换关卡图片,最后的“+”,可以添自己的图片到关卡中。 设有背景音乐 有一键通过按钮 等等,块下载去看看吧。

    百度地图毕业设计源码-Java-Notes:2020Java快速成长学习路线,从0到1的过程,打破你知识的盲区,渐渐爱上Java,我想对还是小

    @学习路线根据黑马程序员学习路线改编 Part1: Java基础&Web基础 Java基础 面向对象思想 集合框架 IO流 多线程与并发 异常处理 网络编程 数据库 MySQL Oracle JDBC C3P0 Druid 前端技术 HTML CSS JavaScript jQuery ...

    JAVA核心知识点整理.pdf

    给大家分享一篇我在学习java过程中...包含常见的面试题:JVM、Java集合、多线程并发、java基础、SSM框架原理、微服务、Netty和RPC、网络、日志、算法、数据结构、加密、分布式算法、机器学习、大数据等知识点,都是干货

    黑马JVM学习笔记二

    title: 黑马JVM学习笔记二 date: 2020-01-13 1:00:00 ...线程是私有的,多线程之间分别有各自的程序计数器记录对应线程的执行位置 程序计数器是Java虚拟机规范中唯一一个不会存在内存溢出的区(堆和栈等会出现内存溢

    学成在线-分布式任务视频处理

    2.适用于黑马程序员Java企业级实战开发《学成在线》微服务项目,基于SpringCloud、SpringCloudAlibaba技术栈开发。 3.采用xxl-job技术。 4.步骤概要: 4.1 作业分片方案 4.2 保证任务不重复执行 4.3 业务流程 5....

    Java基础最全笔记文档

    Java基础笔记分为 Java基础篇 和 Java加强篇 Java基础篇包括: 1. Java环境搭建、Java快速入门、IDEA开发工具 ...11. 多线程 12. 网络编程 13. 单元测试、反射、注解、动态代理 14. XML、解析、工厂模式和装饰模式

Global site tag (gtag.js) - Google Analytics