Java多线程方法
来源:互联网 发布:reflection软件 编辑:程序博客网 时间:2024/06/06 00:16
Java并发
并发最吸引人的事一个原因是产生具有可响应的用户界面。
用run方法包括的代码一般都是比较耗时的,所以一般用循环包括。
方法1 继承Thread
Run方法和是start方法
调用run()方法为什么是单线程的?而应该调用start()方法。
面试题:run方法和start方法的区别?
Run()方法只是封装线程执行的代码,直接调用相当于普通方法
Start方法首先启动了线程,然后用jvm去调用该线程的run()方法。
设置优先级 public final void setPriority() 默认优先级是5,最小是1最大是10
获取优先级public final int getPriority()
休眠:sleep(1000);睡1000毫秒
加入:public final void join() 等待线程终止其他线程才能开始例如t1.join(),则其他线程 必须等t1结束后才能开始。
礼让:thread.yeild()几个线程依次执行,但是只是在一定程度上依次执行
后台线程:public final void setDaemon(boolean on)将该线程设置为守护线程或用户线 程,当正在运行的线程都是守护线程时,Java虚拟机就会退出,该方法必须在 启动线程前调用
中断线程:public final void stop()让线程停止,t1.stop()具有不安全性
public void interrupt()让线程中断,线程休眠的时候被中断则走抛出的部 分然后继续执行下面的代码
线程的生命周期:
面试题线程的生命周期 ?
方式2 实现Runnable接口
步骤:1实现Runnable接口
2.重写run方法
3.创建对象
4.创建Thread对象并把之前的对象作为参数传递。
实现接口的方式要是拿该进程的名字就必须使用Thread.currentThread().getName()
问题:为什么有了方式一还要有方式二
答案:1可以避免由于Java单继承带来的局限性。
2适合多个相同程序的代码去处理同一个资源的情况,把线程同程序的代 码,数据有效分离,较好的体现了面向对象的设计思想。
解决线程安全问题?
首先想为什么出现问题?(也是我们判断是否有问题的标准)
•是否是多线程环境
•是否有共享数据
•是否有多条语句操作共享数据
如何解决多线程安全问题呢?
•基本思想:让程序没有安全问题的环境。
•怎么实现呢?
•把多个语句操作共享数据的代码给锁起来,让任意时刻只能有一个 线程执行即可。
在开头创建一个共享的对象Object obj = new Object()
用synchronized(obj){代码}
同步的特点:
同步的前提
•多个线程
•多个线程使用的是同一个锁对象
同步的好处
•同步的出现解决了多线程的安全问题。
同步的弊端
•当线程相当多时,因为每个线程都会去判断同步上的锁,这是很耗 费资源的,无形中会降低程序的运行效率。
同步方法
•就是把同步关键字加到方法上
同步方法的锁对象是什么呢?
如果是静态方法,同步方法的锁对象又是什么呢?
那么,我们到底使用谁?
•如果锁对象是this,就可以考虑使用同步方法。静态方法的锁对象 是(类名.class)对象,否则能使用同步代码块的尽量使用同步代码 块
- Java多线程 Thread 方法
- java 多线程同步方法
- java 多线程 方法详解
- java多线程通信方法
- java多线程通信方法
- Java 多线程实现方法
- java多线程创建方法
- java多线程-join方法
- Java多线程调度方法
- java多线程通信方法
- Java多线程方法
- java多线程-常用方法
- Java多线程同步方法
- Java多线程的方法
- java多线程常用方法
- Java多线程常用方法
- Java 多线程 yield方法
- Java 多线程join方法
- 关于数据库,里乱码现象。
- Mac OS环境下的libsvm在Matlab中安装
- ios Sqlite数据库增删改查基本操作
- 阿里云服务器部署java web项目
- coreData(1)
- Java多线程方法
- 盲打练习
- Gson通过借助TypeToken获取泛型参数的类型的方法(转)
- Android官方Training阅读笔记 ---- Building a Dynamic UI with Fragments(Building a Flexible UI) (二)
- ui-router 参数传递
- 前端ers 必须知道的几个jquery cdn加速节点
- Android红外线遥控
- HDU 2010 水仙花数(打表+水题)
- 对京东全球购的一次投诉