继承thread类 并覆写thread类中的run()方法。

class 类名称 extents Thread{
public void run(){}
}
实现Runble接口的run方法

线程的start()方法

public synchronized void start(){
if(threadStatus!=0){
throw new IllegalThreadStateException();
}
start0();
}
private native void start0();

native表示调用本机的操作系统函数,多线程需要底层OS支持

实现Runnable接口
class 类名称 implements Runnable{
public void run()
}

Thread(Runnable)

MyThread my1=new MyThread([实现Runnable的类的对象])

Thread t1=new Thread(my1)

t1.start()

继承Thread类不能资源共享。

假设有两个继承Thread类的类 A和B

因为实例化的A,B的对象是不同的实例,分别执行自已的start方法。

实现Runnable的接口的类C

是将C的实例c传入Thread,得到一个Thread对象

不同的Thread 都有c的属性,执行的是C的方法

所以c。中的数据可共享。

线程的实现和调用,是经常出现的笔记题。

直接调用run方法,则方法在当前线程上执行

调用start方法,才会新建一个独立的线程。

android消息队列有关于线程的应用。叫什么忘记了,调用的就是run方法。

Thread getName 取得线程名
setName 设置线程名 没设,自动分配名称 Thread-1

isAlive 测试线程是否已经启动
join 让一个线程强制运行,线程运行期间,其他线程无法运行。

sleep 休眠
interrupt 中断

setDaemon 精灵线程,又叫后台线程, 只要前台有一个线程在运行,整个JAVA进程都不会消失。设置一个后台线程,即使JAVA进程结束,后台线程依然运行。

优先级 ,setPriority MIN PRIORITY 最低 1
NORM 中等 5
MAX 最高 10

Thread.currentThread.yield 线程礼让
yield在C#中是不同的用途,记得是实现Ienum接口时用。

1同步代码块 synchronized(同步对象){
需要同步的代码}

2同步方法 synchronized void sale(){}

访问权限 final static synchronized 返回值类型 void 方法名(参数类型,名秒钟) throws exception
{
return 返回值
}

Object 对线程的支持。
wait
notify
notyfyAll

生产者与消费者。

upspend 暂时挂起
resume 恢复挂起
stop 停止
这三入不推荐用,容易产生死锁

停止线程运行,设置标志位实现

class MyThread inmplements Runnable{
private boolean flag=true;
public void run (){
int i=0;
while(this.falg){

}
}
}

public void stop(){
this.flag=false;
}

JAVA线程笔记。的更多相关文章

  1. Java学习笔记-多线程-创建线程的方式

    创建线程 创建线程的方式: 继承java.lang.Thread 实现java.lang.Runnable接口 所有的线程对象都是Thead及其子类的实例 每个线程完成一定的任务,其实就是一段顺序执行 ...

  2. Java系列笔记(5) - 线程

    我想关注这个系列博客的粉丝们都应该已经发现了,我一定是个懒虫,在这里向大家道歉了.这个系列的博客是在我工作之余写的,经常几天才写一小节,不过本着宁缺毋滥的精神,所有写的东西都是比较精炼的.这篇文章是本 ...

  3. java学习笔记15--多线程编程基础2

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note15.html,转载请注明源地址. 线程的生命周期 1.线程的生命周期 线程从产生到消亡 ...

  4. java学习笔记14--多线程编程基础1

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note14.html,转载请注明源地址. 多线程编程基础 多进程 一个独立程序的每一次运行称为 ...

  5. Java开发笔记(九十八)利用Callable启动线程

    前面介绍了如何利用Runnable接口构建线程任务,该方式确实方便了线程代码的复用与共享,然而Runnable不像公共方法那样有返回值,也就无法将线程代码的处理结果传给外部,造成外部既不知晓该线程是否 ...

  6. Java开发笔记(一百零四)普通线程池的运用

    前面介绍了线程的基本用法,以及多线程并发的问题处理,但实际开发中往往存在许多性质相似的任务,比如批量发送消息.批量下载文件.批量进行交易等等.这些同类任务的处理流程一致,不存在资源共享问题,相互之间也 ...

  7. Java开发笔记(一百零三)线程间的通信方式

    前面介绍了多线程并发之时的资源抢占情况,以及利用同步.加锁.信号量等机制解决资源冲突问题,不过这些机制只适合同一资源的共享分配,并未涉及到某件事由的前因后果.日常生活中,经常存在两个前后关联的事务,像 ...

  8. Java开发笔记(九十七)利用Runnable启动线程

    前面介绍了线程的基本用法,按理说足够一般的场合使用了,只是每次开辟新线程,都得单独定义专门的线程类,着实开销不小.注意到新线程内部真正需要开发者重写的仅有run方法,其实就是一段代码块,分线程启动之后 ...

  9. Java开发笔记(九十六)线程的基本用法

    每启动一个程序,操作系统的内存中通常会驻留该程序的一个进程,进程包含了程序的完整代码逻辑.一旦程序退出,进程也就随之结束:反之,一旦强行结束进程,程序也会跟着退出.普通的程序代码是从上往下执行的,遇到 ...

随机推荐

  1. CMake工具总述

    CMake是一个跨平台的安装工具,可以用简单的语句来描述所有平台的安装. CMake的文件为.cmake文件与CMakeLists.txt文件;通过编写上述两种文件就可以完成源程序的安装.

  2. 第 36 章 TCP/IP协议基础

    问题一:为什么要有缓存表?为什么表项要有过期时间而不是一直有效 1.参考网址: 1)网络——ARP协议 2)linux arp机制解析 2.解答: 2.1 ARP缓存可以减小广播量,当主机发送一个AR ...

  3. 第7节 Arrays工具类

    package cn.itcast.day08.demo04; import java.util.Arrays; /*java.util.Arrays是一个与数组相关的工具类,里面提供了大量静态方法, ...

  4. python导入自定义的库

    一.导入项目文件夹下的模块 1.导入整个模块 import 模块名 2.导入模块的某个函数 from 模块名 import 函数名 示例 untitled是项目文件夹,文件结构如下 ①在a.py导入c ...

  5. Tensorflow学习教程------读取数据、建立网络、训练模型,小巧而完整的代码示例

    紧接上篇Tensorflow学习教程------tfrecords数据格式生成与读取,本篇将数据读取.建立网络以及模型训练整理成一个小样例,完整代码如下. #coding:utf-8 import t ...

  6. StringBuiler和StringBuffer的区别

    String.StringBuiler.和StringBuffer都是可以对字符串进行处理的类,他们3个的主要区别在于,运行的速度,还有运行时的线程安全问题. 运行速度方面,它们的快慢顺序依次为:St ...

  7. SLAM领域资源链接

    半闲居士高翔博客: https://www.cnblogs.com/gaoxiang12/ 视觉大佬冯兵博客: http://www.fengbing.net/ SLAMCN http://www.s ...

  8. 给select赋值之后,再点击选择下拉值时,显示一值不变的解决

    在一个项目需求中,请求数据,得到的数据dataAll渲染到页面的select下拉表单中,当时是需要一进页面就要默认选中第一个选项,所以直接将dataAll的第一个索引值赋值给了表单的绑定值formVa ...

  9. LeetCode——853.车队

    N 辆车沿着一条车道驶向位于 target 英里之外的共同目的地. 每辆车 i 以恒定的速度 speed[i] (英里/小时),从初始位置 position[i] (英里) 沿车道驶向目的地. 一辆车 ...

  10. 17.3.15---关于GPIO学习笔记

    STM32的IO口可以由软件配置成为8种模式: 1--输入浮空 2--输入上拉 3--输入下拉 4--模拟输入 5--开漏输出 6--推挽输出 7--推挽复用 8--开漏复用 STM32的每个IO口都 ...