四、辨析wait()与sleep()
之所以对这两个方法辨析,它们有个共同点——暂停线程的执行。但要说起它们的不同点,那还是挺多的。
不同点:
(1)Wait()是Object对象的方法;而Sleep(int sleepTime)是Thead()线程的方法。
(2)Wait()执行后,当前对象的锁就会被释放;而Sleep(int)执行后,锁仍然在其手中。
(3)Wait()不需要指定停留时间,需要notify()方法或notifyAll()方法将其唤醒;而Sleep(int),其中int指定睡眠的...
分类:
编程语言 时间:
2015-06-22 22:22:28
阅读次数:
261
哎,昨天晚上失眠,今天早上五点钟从迷迷糊糊中醒来,结果听到对面楼的有人在放录像,声音那个大啊,本来就不好的睡眠被彻底赶跑了,哎,赶跑了!待折磨到闹钟响起,我拖着疲惫的身体赶去上班,一上午,简直是在煎熬中度过,终于等到中午,午睡了一下,发现自己已经感冒了,浑身酸痛,好像有点发烧的感觉,虽然有点苦,但是...
分类:
其他好文 时间:
2015-06-22 16:09:14
阅读次数:
148
转载请注明出处:jiq?钦's
technical Blog
首先解释一些容易混淆的概念:
中断上下文:正在执行ISR或者下半部。没有进程背景(只是暂停CPU去内存中其他地方执行一段快速代码),所以不能被切换(比如睡眠,被其他进程抢占等都不行)。
进程上下文:非中断上下文(比如执行系统调用或者内核线程的时候)。此时内核代表线程在执行,所以允许睡眠,被抢占等(被切...
分类:
系统相关 时间:
2015-06-21 18:33:33
阅读次数:
178
以下内容仅表示自己的学习笔记,对其中一些知识的见解,防止遗忘,不喜勿喷。错误之处,欢迎发邮箱指导:738254743@qq.com阻塞:没有获得资源则进程挂起,直到获取资源为止。挂起进程进入睡眠状态,给调度的等待队列移走,直到等待条件满足。非阻塞:操作设备部不挂起,或放弃..
分类:
系统相关 时间:
2015-06-20 01:36:17
阅读次数:
214
中断和异常:中断只代表异步中断,异常代表同步中断,这样系统调用是异常处理,不是中断处理。这里异常处理是可以休眠block的,因为异常处理所需的数据是存储在异常栈中,而每个进程都有一个异常栈,所以异常处理和进程是相关联的,这样异常处理可以block,被调度出去???同步的中断(比如系统调用、缺页异常)...
分类:
系统相关 时间:
2015-06-19 18:33:46
阅读次数:
188
今天除了早上因为手痛睡眠不足而没有早起以外其他情况一切良好,zabbix监控基本部署工作已经完工,接下来就是触发告警机制的部署工作了,要继续加油!慎独:今天计划完成情况:慎言:今天一天在言语上没有过失,要保持!慎行:今天一天严格按照计划行事,要保持!戒骄:今天没..
分类:
其他好文 时间:
2015-06-18 01:57:37
阅读次数:
148
因为Android程序有升级推送,并且把推送提示的窗口放在了开平图那个页面,而且开平图页面四秒,然后进入主界面,没有升级没事,但是有的话如果点击取消则窗口消失,不点击的话则一直显示,虽然程序没有bug,但是log输出会报错,而且程序的健壮性肯定不行,然后本来想用线程睡眠的,但是不合适,博主选择的计时器,三秒用户不操作自动消失,开屏展示依旧不受影响,好了,上代码:
public class Tim...
分类:
编程语言 时间:
2015-06-17 21:45:26
阅读次数:
154
主线程等待子线程的多种方法
synchronized浅析
sleep 是静态方法,Thread.sleep(xx)谁调用谁睡眠。
join 是合并方法,当前线程调用其他线程xx.join()则等到xx结束才能运行
yield 当前线程让出cpu进入就绪队列。
wait,noitfy,synchronized配合使用对资源进行管理。
synchronized(this)以及非static...
分类:
编程语言 时间:
2015-06-15 11:18:09
阅读次数:
128
前言:macbook默认合上盖默认是进入混合休眠模式模式(mode 3),此时电脑还会供电。不想耗电的话关机的话当前的工作状态就丢失了。macbook实际上是可以进入休眠模式的,只是没开放出来,我们可以通过终端命令来设置。休眠模式种类:1.睡眠模式(mode 0):将当前状态保存在内存中,系统继续供...
分类:
系统相关 时间:
2015-06-14 20:00:52
阅读次数:
787
NSThread:优点:NSThread 比其他两个轻量级,使用简单缺点:需要自己管理线程的生命周期、线程同步、加锁、睡眠以及唤醒等。线程同步对数据的加锁会有一定的系统开销开启后台执行任务的方法(void)performSelectorInBackground:(SEL)aSelector with...
分类:
编程语言 时间:
2015-06-10 22:15:45
阅读次数:
155