多线程心得
来源:互联网 发布:mysql忘记root密码重装 编辑:程序博客网 时间:2024/06/14 08:24
一:首先我去想去弄明白为什么要用多线程?
因为多线程能提高执行效率,尽可能的利用CPU的资源,并且能增强用户体验。
二:那其次要知道如何利用多线程?创建多线程主要有两种方法:
第一种创建多线程方法:
①:创建一个线程类继承Thread类,并重写Thread类中的run方法,在run方法中编写多线程执行体。
②:在测试类中,实例化线程类,可以实例化多个线程类。
③:通过start()方法启动线程,默认执行run方法。
第二种创建多线程方法:
①:创建一个线程类实现runable接口,并在该线程类中重写run()方法,run中编写线程执行体。
②:实例化上面的线程类,并额外再创建一个Thread实例,如Thread t1 = new Thread("上一个线程类的对象引用放到这");
③:调用 Thread 类的 start() 方法启动线程,默认执行 run() 方法。
三:会创建多线程了,那多线程都有哪些常用方法?
currentThread() : 获取当前线程
getName() : 获取线程名称
setName() : 设置线程名称
start() : 启动线程
sleep(long millis) : 是一个静态方法,使当前线程进入睡眠状态
join() / join(long millis) : 是一个实例方法,使当前线程进入阻塞状态
interrupt() : 中断阻塞状态的线程
isAlive() : 判断当前线程是否处于存活状态
yield() : 线程让步
四:线程的生命周期是什么?这点很重要,利用一个图来解释
五:虽然可以利用多线程了,但是这样利用多线程还存在一定的弊端,就是不安全问题。所以这时就可以利用线程同步机制了。
线程同步的核心思想:将多个线程需要访问的共享数据,包装起来,视为一个整体,确保一次只有一个线程执行流访问共享数据;
线程同步方式主要有三种形式:
①:synchronized (同步监视器){
同步代码块
}
同步监视器 : 俗称“锁”,可以使用任意对象充当,必须确保多个线程持有同一把锁(同一个对象)
②:public synchronized void show(){
隐式的锁: this
}
③:同步锁
lock();//上锁
unlock();//解锁
- 多线程心得
- .net 多线程心得
- Java多线程Synchronized心得
- Java多线程Synchronized心得
- 多线程程序设计心得
- Java多线程Synchronized心得
- 多线程个人心得
- 多线程服务程序编程心得
- 多线程资源抢占的心得
- 更多的多线程学心得
- Java 多线程同步问题心得
- 多线程编程的一点点心得
- Android http 多线程下载心得
- 多线程图片下载程序的修改心得.
- 关于PowerBuilder多线程的一些心得
- Android开发心得-多线程处理初步
- linux多线程socket编程一些心得
- android 多线程 切换视频图片使用心得
- background-size设置背景图片自适应 在ie8下失效的问题
- 部分和问题 南阳oj 1058
- 豪斯多夫距离-- Hausdorff distance of convex polygons
- android animation
- Distributed System: Message (信息传递) and JMI
- 多线程心得
- python之日常练习
- BZOJ 2440: [中山市选2011]完全平方数
- 数据结构学习笔记(一)
- tensorflow_cookbook--preface
- java多线程轮流打印数据问题
- nyoj 123 士兵杀敌(四)(树状数组——插线问点)
- BZOJ1927: [Sdoi2010]星际竞速
- JavaScript学习笔记5-变量和字符串的使用