好的,之前说的博客我再进行一个时间上的归纳总结。 每天按计划执行,且专时专用,直到任务完成了,到0:30-0:45再写博文和看经济学人和看南方周末,之后整理进步本和笔记本和复习,背背英语语文就睡觉去了。每天晚上4.5小时睡眠,睡眠质量高,起来精神好。中午20分钟冥想,以防睡过头上课迟到。 好的,生活 ...
分类:
Web程序 时间:
2018-03-04 01:07:08
阅读次数:
622
1、Thread.sleep(long millis ) sleep( )是一个静态方法,让当前正在执行的线程休眠(暂停执行),而且在睡眠的过程是不释放资源的,保持着锁。 在睡眠的过程,可以被中断,注意抛出InterruptedException异常; 作用: 1、暂停当前线程一段时间; 2、让出C ...
分类:
其他好文 时间:
2018-02-28 18:56:19
阅读次数:
159
1、概述 信号量(semaphore)是一种用于提供不同进程间或一个给定进程的不同线程间同步手段的原语。信号量的使用主要是用来保护共享资源,使得资源在一个时刻只有一个进程(线程)所拥有。信号量的值为正的时候,说明它空闲。所测试的线程可以锁定而使用它。若为0,说明它被占用,测试的线程要进入睡眠队列中, ...
分类:
其他好文 时间:
2018-02-25 11:21:30
阅读次数:
218
我们接着谈Linux学习过程中一个重要的话题--信号。一、信号的概念:?? ??? 信号是一种软件中断,它提供了一种处理异步事件的方法,也是进程间唯一的异步通信方式。二、信号的来源:?? ??? 1、硬件方式:?? ??? ?&
分类:
系统相关 时间:
2018-02-23 20:39:40
阅读次数:
210
进程状态:进程状态: D:不可中断的睡眠 R:运行或就绪 S:可中断的睡眠 T:停止 Z:僵死 <:高优先级进程 N: 低优先级进程 +:前台进程组中的进程 l: 多线程进程 s: 会话进程首进程
分类:
系统相关 时间:
2018-02-22 19:43:39
阅读次数:
210
在做进程安全监控的时候,拍脑袋决定的,如果发现一个进程在D状态时,即TASK_UNINTERRUPTIBLE(不可中断的睡眠状态),时间超过了8min,就将系统panic掉。恰好DB组做日志时,将整个log缓存到内存中,最后刷磁盘,结果系统就D状态了很长时间,自然panic了,中间涉及到Linux的 ...
分类:
其他好文 时间:
2018-02-22 19:21:08
阅读次数:
200
一、前言 每一个Linux驱动工程师都知道这样一个准则:在中断上下文中不能睡眠。但是为什么interrupt context中不能调用导致睡眠的kernel API呢?如果驱动这么做会导致什么样的后果呢?这就是本文探讨的主题。为了理解这个主题,我们设计了一些非常简单的驱动程序和用户空间的程序,实际做 ...
分类:
其他好文 时间:
2018-02-21 22:18:21
阅读次数:
216
一、前言 从应用程序的角度看,内核需要提供的和时间相关的服务有三种: 1、和系统时间相关的服务。例如,在向数据库写入一条记录的时候,需要记录操作时间(何年何月何日何时)。 2、让进程睡眠一段时间 3、和timer相关的服务。在一段指定的时间过去后,kernel要alert用户进程 本文主要描述和时间 ...
分类:
系统相关 时间:
2018-02-14 15:05:55
阅读次数:
230
一、前言 每一个Linux驱动工程师都知道这样一个准则:在中断上下文中不能睡眠。但是为什么interrupt context中不能调用导致睡眠的kernel API呢?如果驱动这么做会导致什么样的后果呢?这就是本文探讨的主题。为了理解这个主题,我们设计了一些非常简单的驱动程序和用户空间的程序,实际做 ...
分类:
系统相关 时间:
2018-02-13 23:39:41
阅读次数:
278
一、前言 在linux kernel的实现中,经常会遇到这样的场景:共享数据被中断上下文和进程上下文访问,该如何保护呢?如果只有进程上下文的访问,那么可以考虑使用semaphore或者mutex的锁机制,但是现在中断上下文也参和进来,那些可以导致睡眠的lock就不能使用了,这时候,可以考虑使用spi ...
分类:
系统相关 时间:
2018-02-13 22:55:45
阅读次数:
531