Java
文章平均质量分 80
wangyuetingtao
这个作者很懒,什么都没留下…
展开
-
线程知识回顾(一)---基本概念
在看google training相关课程时,多次遇到了线程间同步的问题,不知道该怎样处理这些锁。看来是基础知识不够用了,索性将马士兵的讲解的线程知识重新学习了一下。 再次看时,发现了平时自己在使用线程时,有很多地方存在着不规范。 下面从基本概念开始,复习一下Java中多线程的相关操作。 线程与进程: 线程可以理解为程序内不同的执行路径,在没有多线程的程序中,程序的执行方式都是原创 2012-11-30 10:17:57 · 1592 阅读 · 4 评论 -
线程知识回顾(二)---线程sleep
sleep()是Thread类的Static(静态)的方法,表示使当前线程进入停滞状态(阻塞当前线程),让出CPU的使用权,目的是不让当前线程独自霸占该进程所获的CPU资源,以留一定时间给其他线程执行的机会; 调用sleep方法一定要使用try catch语句,因为sleep方法会抛出InterruptedException异常。该异常表示当线程被打断时,该线程的停止休眠。 下面我们通原创 2012-11-30 10:21:45 · 1759 阅读 · 2 评论 -
线程(四)—死锁
前面我们介绍了多线程中的锁机制,锁机制虽然保证了线程的安全性,但是很容易出现死锁现象。当两个线程相互等待对方释放同步监视器时就会发生死锁。对于死锁,虚拟机没有监测和处理机制。一旦出现死锁,整个程序不会发生任何异常,也不会有任何响应,所有的线程处于阻塞状态。 下面我们来模拟一个死锁程序:class A { public synchronized void foo(原创 2012-12-28 11:00:58 · 1732 阅读 · 5 评论 -
线程(三)---锁机制
线程安全分析 多个线程并发执行会带来安全问题,就好比搬家这项工作,虽然人多了干活会比较快,但是人多很容易损坏物件。在线程安全问题中,非常有名的问题就是银行取钱问题。 银行的取钱流程是这样的: 1.验证用户名和密码 2. 用户输入取款金额 3.系统判断余额是否大于取款金额,如果大于则取款成功;否则,取原创 2012-12-28 10:38:06 · 1818 阅读 · 5 评论 -
线程(五)--sleep和wait的区别
上次我们讲完了锁机制,接下来说一下sleep 和wait对锁的控制。 sleep方法是Thread类的静态方法,表示在指定的毫秒数内让当前正在执行的线程休眠。 wait方法则是Object类的普通方法,表示当前线程等待,直到其他线程调用这个对象的notify()或者notifyAll()方法。 正如在上文中所说的, java引入了同步监视器来解决线程同步问题原创 2013-01-30 21:36:21 · 2599 阅读 · 5 评论 -
Java运行ant之import requires support in ProjectHelper
Android 3.0之后,原来写的打包脚本完全不能使用了。因为sdk中废弃了apkbuilder,各种尝试解决无果,最后还是决定使用官方提供的打包脚本。也就是位于sdk目录tools文件夹下的build.xml。 试用了一下,果然强大。在项目目录下,配置好构建脚本所需的变量即可。网上教程很多,不在这里赘述。我的工程中有一部分java调换用ant的代码,在运行时报: xxxxxx bui原创 2014-03-02 21:51:08 · 116 阅读 · 0 评论 -
Java运行ant之import requires support in ProjectHelper
Android 3.0之后,原来写的打包脚本完全不能使用了。因为sdk中废弃了apkbuilder,各种尝试解决无果,最后还是决定使用官方提供的打包脚本。也就是位于sdk目录tools文件夹下的build.xml。 试用了一下,果然强大。在项目目录下,配置好构建脚本所需的变量即可。网上教程很多,不在这里赘述。我的工程中有一部分java调换用ant的代码,在运行时报: xxxxxx bui原创 2014-02-28 21:36:27 · 1891 阅读 · 1 评论