摘要: 在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 而自从Java 1.5开 阅读全文
posted @ 2016-06-20 17:14 Mason.Ke 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 对于多线程有了一点了解之后,那么来看看java.lang.concurrent包下面的一些东西。在此之前,我们运行一个线程都是显式调用了Thread的start()方法。我们用concurrent下面的类来实现一下线程的运行,而且这将成为以后常用的方法或者实现思路。 看一个简单的例子: public 阅读全文
posted @ 2016-06-20 16:12 Mason.Ke 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。 [@mo 阅读全文
posted @ 2016-06-20 15:50 Mason.Ke 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 1.select按条件设置默认值: SELECT IF(pay_name='N','未开户',"已开户") AS isopen,COUNT(user_id) FROM wb_user_account GROUP BY isopen 2.sqlyog导入csv数据: LOAD DATA LOCAL I 阅读全文
posted @ 2016-06-20 11:42 Mason.Ke 阅读(131) 评论(0) 推荐(0) 编辑