zoukankan      html  css  js  c++  java
  • INIT_WORK

    借助runtime pm,在需要使用模块时,增加引用计数(可调用pm_runtime_get),不需要使用时,减少引用计数(可调用pm_runtime_put)。

    1.INIT_WORK(struct work_struct *work, void (*function)(void *), void *data)
    上面一句只是定义了work和work对应的操作。
    要是在实际使用的时候还是需要你去在适当的条件下激活这个work。只有激活了这个work,
    这个work才有运行的机会。这个激活操作接口是shudule_work或是queue_work。
    这两个接口之后只是说这个work有了运行的机会,但是具体到什么时候运行,那要看你用哪个接口激活的。
    如果是shudule_work的话,系统中有个events内核线程,这个线程会处理你用shudule_work接口激活
    的所有work。如果是queue_work的话,一般这种情况都是自己创建了一个单独的处理线程,这样将
    你激活的work和这个线程联系起来。至于什么时候运行,那就是events或是你定义的特定线程运行的时候。

    2.至于你提到的为什么要用到work。这个的话,我个人的理解是:一般用在对耗时处理上。比如,
    当中断发生的时候,你可以在中断上下文中完成激活操作,让那些耗时的操作在work中完成。

  • 相关阅读:
    H5相关网址
    ASP.NET MVC Razor视图引擎攻略
    深度解析 ASP.NET MVC 5
    .Net MVC 框架基础知识
    java SDK服务端推送 --极光推送(JPush)
    Nexus Repository Manager OSS 3.x 安装配置
    java项目中使用ffmpeg剪辑部分视频
    net 异步与同步
    IDEA把spring-boot项目打包成jar
    开放api接口签名验证
  • 原文地址:https://www.cnblogs.com/zxc2man/p/4720081.html
Copyright © 2011-2022 走看看