对于多线程的思考与笔记
同步与异步
同步:排队执行,效率低,线程安全。
异步:同时执行,效率高,线程不安全。
并发与并行
并发:指两个或多个事件在同一时间段内发生。(可以说时并发,秒并发,日并发)
并行:指两个或多个事件在同一时刻发生(同时发生,指此时)
多线程的使用
格式:… extends Thread (继承Thread)
Public void run(){
//run方法就是线程要执行的任务方法
}
使用方法不是run(),是对象名字.start()
格式:… implements Runnable (实现Runnable)
Public void run(){
//run方法中:
//创建Runnable实现类的对象
类名 对象名 = new 类名()
//创建一个线程,为其分配任务
Thread t = new Thread(对象名)
}
实现Runnable和直接继承Thread相比的优势:
可以避免单继承所带来的局限性
Thread类
getName() 返回线程的名称
setPriority(int newPriority) 改变线程的优先级
sleep(long millis) 使当前正在执行的线程休眠指定的毫秒数
Interrupt() 添加中断标记
currentThread().getName() 返回当前线程名称
current() 返回当前线程
线程同步:synchronized
解决方案1:同步代码块
格式:synchoronized(锁对象){
解决方案2:同步方法
格式:public synchronized boolean 方法名()
解决方案3:显示锁Lock
先创建锁:Lock l = new ReetrantLock;
然后锁上:l.lock();
最后解锁:l.unlock();
公平锁与不公平锁
上述三种解决方案都是不公平锁
公平锁:private Lock l = new ReetantLock(true);
//true表示创建的是公平锁,默认是false
- J2ME学习笔记--关于多线程,集合,lang,util的思考
- Java基础知识强化之网络编程笔记14:TCP之多个客户端上传到一个服务器的思考(多线程改进)
- 转贴-今天与大家分享5R笔记法,又叫做康乃笔记法,是用产生这种笔记法的大学校名命名的。自己感觉这种方法很具有借鉴意义,不管是在规划自己的思路,还是在做听课笔记,都具有很好的效果!这一方法几乎适用于一切讲授或阅读课,特别是对于听课笔记,5R笔记法应是最佳首选。这种方法是记与学,思考与运用相结合的有效方
- JAVA多线程之内存可见性笔记
- 廖雪峰python学习笔记14.多进程和多线程
- 关于多线程编程的一点思考
- 《现代操作系统》精读与思考笔记 第三章 内存管理
- 多线程笔记
- 05-java学习笔记-多线程2
- UNIX环境编程学习笔记------编程实例-----对于 函数 inet_ntop()函数的第四个参数的理解
- java 多线程并行计算之矩阵乘法(星星笔记)
- 《算法导论》笔记 第15章 总结与思考
- 读设计师要懂心理学笔记4-人如何思考
- IOS学习笔记23—多线程之NSThread、NSOperation、NSInvocationOperation
- Java开发学习笔记:Java实现多线程的方法
- 多线程笔记2
- 学习笔记:对于完全背包状态转移方程的一点理解
- 学习笔记 java多线程 信号量(Semaphore),死锁
- 对于 分布式下session同步问题 解决方案的思考
- 《现代操作系统》精读与思考笔记 第十至十三章