Java学习笔记之——多线程
多线程编程
程序:
进程:一个程序运行就会产生一个进程
线程:进程的执行流程,一个进程至少有一个线程,称为主线程
如:QQ聊着天,同时在听音乐
一个进程可以有多个线程,多个线程共享同一个进程的资源
线程类:Tread
多线程编程:
方式一:继承Thread
(1) 定义一个类继承Thread
(2) 重写run方法
方法中写新的线程中要执行的代码
(3) 创建这个类对象,启动线程
方式二:实现Runnable接口
(1) 定义一个类,实现Runnable接口
(2) 实现run方法
方法中写新的线程中要执行的代码
(3) 创建这类对象
(4) 创建线程(Thread)对象,构造时传入这个对象,调用start()方法启动线程
继承和实现接口对比:类只能继承一个父类,但可以实现多个接口,相比之下实现接口好一点
1.Thread常用构造方法:
Thread()
分配一个新的 Thread对象。
分配一个新的 Thread对象。
2.Thread常用方法:
run()
如果这个线程使用单独的Runnable运行对象构造,则调用该Runnable对象的run方法; 否则,此方法不执行任何操作并返回。
start()
导致此线程开始执行; Java虚拟机调用此线程的run方法。
将此线程的名称更改为等于参数 name 。
getName()
返回此线程的名称。
返回对当前正在执行的线程对象的引用。
3.Runnable:
run()
当实现接口的对象 Runnable被用来创建一个线程,启动线程使对象的 run在独立执行的线程中调用的方法。
Java学习笔记之——多线程的更多相关文章
- 【原】Java学习笔记032 - 多线程
package cn.temptation; public class Sample01 { public static void main(String[] args) { /* * [进程]:正在 ...
- Java学习笔记:多线程(一)
Java中线程的五种状态: 新建状态(New) 就绪状态(Runnable) 运行状态(Running) 阻塞状态(Blocked) 凋亡状态(Dead) 其中阻塞状态(Blocked)又分为三种: ...
- java学习笔记(5)多线程
一.简介(过段时间再写,多线程难度有点大) --------------------------------------- 1.进程:运行时的概念,运行的应用程序 2.线程:应用程序内部并发执行的代码 ...
- Java 学习笔记(11)——多线程
Java内部提供了针对多线程的支持,线程是CPU执行的最小单位,在多核CPU中使用多线程,能够做到多个任务并行执行,提高效率. 使用多线程的方法 创建Thread类的子类,并重写run方法,在需要启动 ...
- Java学习笔记:多线程(二)
与线程生命周期相关的方法: sleep 调用sleep方法会进入计时等待状态,等待时间到了,进入就绪状态. yield 调用yield方法会让别的线程执行,但是不确保真正让出.较少使用,官方注释都说 ...
- 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁
什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...
- Java学习笔记-多线程-创建线程的方式
创建线程 创建线程的方式: 继承java.lang.Thread 实现java.lang.Runnable接口 所有的线程对象都是Thead及其子类的实例 每个线程完成一定的任务,其实就是一段顺序执行 ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- 20145330第六周《Java学习笔记》
20145330第六周<Java学习笔记> . 这周算是很忙碌的一周.因为第六周陆续很多实验都开始进行,开始要准备和预习的科目日渐增多,对Java分配的时间不知不觉就减少了,然而第十和十一 ...
随机推荐
- 33 ArcToolBox学习系列之数据管理工具箱——投影与变换(Projections and Transformations)未完待续……
工具箱位置 打开ArcToolBox,找到工具集Projections and Transformations,位置如下:ArcToolbox--Data Management Tools--Proj ...
- maven <include>与<exclude>划定的范围存在冲突,则以<exclude>配置为准。
maven 与划定的范围存在冲突,则以配置为准.
- python elasticsearch 批量写入数据
from elasticsearch import Elasticsearch from elasticsearch import helpers import pymysql import time ...
- iOS浏览器 new Date() 返回 NaN
问题 项目中某个地方用到了倒计时,因此打算通过 new Date() 函数实现.但在 iPhone 真机测试的时候,显示的结果不符合预期.通过调试发现 iOS 中 new Date('2017-01- ...
- JS 将表格table导出excel
function tableToExcel(id) { var tb = document.getElementById(id); var html = '<html><head&g ...
- [Swift]LeetCode546. 移除盒子 | Remove Boxes
Given several boxes with different colors represented by different positive numbers. You may experie ...
- [SQL]LeetCode627. 交换工资 | Swap Salary
SQL架构 create table ), sex ), salary int) Truncate table salary insert into salary (id, name, sex, sa ...
- [Swift]LeetCode935. 骑士拨号器 | Knight Dialer
A chess knight can move as indicated in the chess diagram below: . This time, we place o ...
- [Swift]LeetCode972.相等的有理数 | Equal Rational Numbers
Given two strings S and T, each of which represents a non-negative rational number, return True if a ...
- linux入门--Linux的应用领域
Linux 似乎在我们平时的生活中很少看到,那么它应用在哪些领域呢?其实,在生活中随时随地都有 Linux 为我们服务着. 网站服务器 用事实说话!访问国际知名的 Netcraft 网站 http:/ ...