
Java
百里琰
这个作者很懒,什么都没留下…
展开
-
Java多线程(二)
synchronized同步方法多线程中经常需要和“线程安全”与“非线程安全”打交道,“非线程安全”会在多个线程对同一个对象中的实例变量进行并发的读写,产生的后果就是可能会出现“脏读”,也就是当一个线程对一个实例变量经过一系列计算后得出一个结果,正要使用时线程暂停,另一个线程同样对该变量进行一系列计算后得出另一个不同的结果,最后,前一个线程只能取到错误的数据。“线程安全”就是以获得的实例变原创 2016-11-30 05:20:52 · 382 阅读 · 0 评论 -
Java多线程(四)
java多线程中,可以使用synchronized关键字来实现线程之间的同步互斥,而ReentrantLock也能达到同样的效果,并且比synchronized更加的灵活原创 2016-11-24 09:52:47 · 558 阅读 · 0 评论 -
Java多线程(五)
定时器Timer使用JDK库中Timer类主要负责计划任务的功能,由Timer安排为一次执行或重复执行的任务。原创 2016-11-19 16:39:56 · 234 阅读 · 0 评论 -
Java多线程(六)
线程的状态NEW至(至今尚未启动的线程)RUNNABLE(JVM正在执行的线程)BLOCKED(受阻塞并等待某个监视器锁的线程)WAITING(等待唤醒的线程)TIMED_WAITING(线程等待状态,等待CPU时间)TERMINATED(已退出的线程)原创 2016-11-17 13:34:33 · 283 阅读 · 0 评论 -
Java多线程(一)
进程和线程进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。如下图,eclipse.exe是一个进程、谷歌浏览器是一个进程,QQ也是一个进程,进程是受操作系统管理的基本运行单元。线程可以理解成是在进程中独立运行的子任务,比如在使用谷歌浏览器时,一边浏览网站,一边用浏览器下载文件同时还一边用浏览器播原创 2016-12-01 09:23:50 · 348 阅读 · 0 评论 -
Java多线程(三)
等待/通知机制思考一个问题,在一家餐馆,有一位厨师和若干位服务员,厨师不断做菜,服务员不断询问厨师目前是否有菜,如果有菜则取走菜,没有的话就等待厨师做菜,厨师类和服务员类都要用到while(true)循环,然而循环检查厨师是否出菜,太过浪费CPU资源,可以使用多线程的通知/等待机制,当服务员得知厨师没有出菜时,挂起自己的线程,不再循环得知厨师是否出菜,而当厨师出菜后,随机唤醒一个服务员线程来取菜原创 2016-11-27 09:00:35 · 341 阅读 · 0 评论