java线程,并发

JAVA线程、多线程、并发编程

1、线程原理、线程状态及运行控制、线程同步、多线程编程

2、什么是线程
是一个是一个程序内部的顺序控制流
每个进程都有独立的代码和独立的数据空间(进程上下文)进程就是程序,每个程序的运行叫做进程,线程是程序内部的,是同一个程序的,轻量级的进程

Thread 线程类
cup所执行的代码和所处理的数据需要传递给Thread对象
Thread(Runnable target) 构造方法,分配新的 Thread 对象,里面可以传入一个Runnable接口的实现类对象;

每个线程是通过某个特定的Thread对象所对应的方法run()来完成其操作的,方法run()称为线程体
Thread.currentThread()拿到当前线程


3、创建线程
使用Runnerable接口的实现类创建

4、创建线程的第二种方式
继承Thread类,重写run方法

5、后台线程

isDaemon();判断线程类型,是不是后台线程,守护线程
当程序中没有活动的前台线程时,后台线程会被jvm中断,退出程序,这是后台线程和普通线程的唯一区别
需要注意的是将线程设置为daemon的设置必须在其运行之前

先设置daemon为true,在调用start方法,否则会抛出异常,不能把正在运行的常规线程设置为守护线程。

在Daemon线程中产生的新线程也是Daemon的
守护线程应该永远不去访问固有资源,如文件,数据库,因为它在任何时候,甚至在一个操作的中间发生中断
所谓的后台线程,是指程序在运行时后台提供的一种通用服务线程,唯一区别就是在于虚拟机的离开,没有了被守护者,守护线程也就自动退出了

6、GUI线程
运行GUI界面时系统会自动给GUI界面创造出线程

7、java线程:线程的调度-优先级

与线程休眠类似,线程的优先级仍然无法保障线程的执行次序
只不过,优先级高的线程获取CPU资源的概率较大,优先级低的并非没机会执行

posted @ 2017-07-27 15:17  fendousaonian  阅读(99)  评论(0)    收藏  举报