上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 25 下一页
摘要: Exchanger可以使两个线程之间传输数据,比生产者/消费者模式使用wait/notify更加方便。 Exchanger中的exchange()方法具有阻塞的特点,此方法被调用后等待其他线程来取数据,如果没有其他线程取得数据,则一直阻塞等待。 运行程序,控制台打印结果如下: 阅读全文
posted @ 2016-07-14 20:22 商商-77 阅读(230) 评论(0) 推荐(0) 编辑
摘要: Semaphore中文含义是信号、信号系统,这个类的主要作用就是限制线程并发数量。如果不限制线程并发数量,CPU资源很快就会被耗尽,每个线程执行的任务会相当缓慢,因为CPU要把时间片分配给不同的线程对象,而且上下文切换也要耗时,最终造成系统运行效率大幅降低,所以限制并发线程的数量是很有必要的。 类S 阅读全文
posted @ 2016-07-14 20:19 商商-77 阅读(462) 评论(0) 推荐(0) 编辑
摘要: 某次处理一个case,发现线上库里有很多数据有问题。于是决定写一个job来将有问题的数据软删除掉。涉及到的两条SQL语句如下: 前面是选取出有问题的数据,后面是将有问题的数据进行软删除。 按照这两条SQL语句的思路写完程序之后上PPE环境测试,发现第一条select语句执行速度相当慢,平均每次花费3 阅读全文
posted @ 2016-07-12 21:54 商商-77 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 需求:有一张表9亿多条数据,数据加索引总数据量61GB。考虑到这张表的大部分数据都不会再被使用并且大数据量可能影响整库的性能,所以决定将表里某一个时刻之前的数据备份到一张新表中,待备份完成后将旧表中已经备份的数据删除。由于数据量太大,不适合让DBA直接做备份。 方案1 main线程分页读取旧表数据, 阅读全文
posted @ 2016-06-20 11:52 商商-77 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 线程状态验证 运行程序控制台输出结果如下: 运行程序,控制台打印结果如下: 线程对象关联线程组:1级关联 所谓的1级关联就是父对象中有子对象,但是并不创建孙对象。 运行程序,控制台打印结果如下: 线程对象关联线程组:多级关联 所谓的多级关联就是父对象中有子对象,子对象中再创建子对象,也就是出现孙对象 阅读全文
posted @ 2016-06-20 11:47 商商-77 阅读(260) 评论(0) 推荐(0) 编辑
摘要: Timer类主要负责计划任务,也就是在指定的时间开始执行某一个任务。 方法schedule(TimerTask task, Date time) 程序运行结果如下: 任务虽然执行完了,但是进程还没有销毁。 创建Timer的源码如下: 由构造方法可知,创建一个Timer就是启动一个新的线程,这个新启动 阅读全文
posted @ 2016-06-20 11:46 商商-77 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 立即加载/饿汉模式 立即加载就是使用类的时候已经将对象创建完毕。 运行程序,控制台打印结果如下: 控制台打印的hashCode是同一个值,说明对象是同一个,也就实现了立即加载型单例模式。 延迟加载/懒汉模式 延迟加载就是在调用get()方法时实例才被创建 程序运行结果如下: 此实验虽然取得一个对象的 阅读全文
posted @ 2016-06-20 11:46 商商-77 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 使用ReentrantLock类 在Java多线程中,可以使用synchronized关键字来实现线程之间的同步互斥,但在JDK1.5中新增加了ReentrantLock类也能达到同样的效果,并且在扩展功能上也更加强大,比如具有嗅探锁定、多路分支通知等功能,而且在使用上也比synchronized更 阅读全文
posted @ 2016-06-20 11:45 商商-77 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 通过管道进行线程间通信:字节流 Java提供了各种各样的输入/输出流Stream可以很方便地对数据进行操作,其中管道流(pipeStream)是一种特殊的流,用于在不同线程间直接传送数据,一个线程发送数据到输出管道,另一个线程从输入管道中读数据。通过使用管道,实现不同线程间的通信,无需借助于类似临时 阅读全文
posted @ 2016-06-17 20:47 商商-77 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 线程是操作系统中独立的个体,但这些个体如果不经过特殊处理就不能成为一个整体。线程间的通信就是成为整体的必用方案之一。线程间通信可以使系统之间的交互性更强大,在大大提高CPU利用率的同时还会使程序员对各线程任务在处理的过程中进行有效的把控监督。 等待通知机制 在调用wait()之前,线程必须获得该对象 阅读全文
posted @ 2016-06-17 20:46 商商-77 阅读(239) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 25 下一页