当前位置: 首页 > news >正文

做网站上找王思奇网站开发常用js函数

做网站上找王思奇,网站开发常用js函数,品牌推广活动方案,餐饮吸引客流的活动方案信号量 信号量允许多个进程同时进入临界区#xff0c;大多数情况下只允许一个进程进入临界区#xff0c;把信号量的计数值设置为 1#xff0c;即二值信号量#xff0c;这种信号量称为互斥信号量。可允许多个锁持有者。 和自旋锁相比#xff0c;信号量适合保护比较长的临界… 信号量 信号量允许多个进程同时进入临界区大多数情况下只允许一个进程进入临界区把信号量的计数值设置为 1即二值信号量这种信号量称为互斥信号量。可允许多个锁持有者。 和自旋锁相比信号量适合保护比较长的临界区因为竞争信号量时进程可能睡眠和再次唤醒代价很高。中断服务函数不能进行睡眠因此信号量不能用于中断当中 信号量的使用流程 定义一个信号量     ↓ 初始化信号量     ↓ 获得信号量减操作     ↓ 释放信号量加操作 内核使用的信号量定义如下 include/linux/semaphore.h struct semaphore {     raw_spinlock_t      lock;     unsigned int        count;     struct list_head    wait_list; }; 成员 lock 是自旋锁用来保护信号量的其他成员。 成员 count 是计数值表示还可以允许多少次进入临界区。 成员 wait_list 是等待进入临界区的进程链表。 struct semaphore_waiter {     struct task_struct *task;     bool up;     struct list_head list; }; 初始化静态信号量的方法如下。 1    __SEMAPHORE_INITIALIZER(name, n)指定名称和计数值允许同时n 次进入临界区。 2    DEFINE_SEMAPHORE(name)初始化一个互斥信号量。 在运行时动态初始化信号量的方法如下 static inline void sema_init(struct semaphore *sem, int val); 参数 val 指定允许同时进入临界区的数量。 获取信号量的函数如下。 1 void down(struct semaphore *sem); 获取信号量如果计数值是 0进程深度睡眠。 2 int down_interruptible(struct semaphore *sem); 获取信号量如果计数值是 0进程轻度睡眠可以被系统消息打断该函数的调用允许中断。如果返回0表示获得信号量正常返回如果被信号打断返回-EINTR。 3 int down_killable(struct semaphore *sem); 获取信号量如果计数值是 0进程中度睡眠可以因为受到致命信号而被唤醒。 4 int down_trylock(struct semaphore *sem); 获取信号量如果计数值是 0进程不等待不会导致调用者睡眠。 5 int down_timeout(struct semaphore *sem, long jiffies); 获取信号量指定等待的时间。 释放信号量的函数如下 void up(struct semaphore *sem); 使用示例 #include linux/init.h #include linux/module.h #include linux/kthread.h  #include linux/semaphore.h  #include linux/delay.h int num[2][5] { {         0,2,4,6,8     }     , {         1,3,5,7,9     } } ; struct semaphore sem_first; struct semaphore sem_second; struct task_struct * task1; struct task_struct * task2; int thread_print_first(void *p) {     int i;     int *num(int *)p;     if(kthread_should_stop()){         return 0;     }     printk(KERN_ALERTHello World:first\n);     for (i0;i5;i) {         down(sem_first);         printk(KERN_ALERTHello World:%d\n,num[i]);         up(sem_second);     }     do {         msleep(1000);     }     while(!kthread_should_stop());     return 0; } int thread_print_second(void *p) {     int i;     int *num(int *)p;     if(kthread_should_stop()){         return 0;     }     printk(KERN_ALERTHello World:second\n);     for (i0;i5;i) {         down(sem_second);         printk(KERN_ALERTHello World:%d\n,num[i]);         up(sem_first);     }     do {         msleep(1000);     }     while(!kthread_should_stop());     return 0; } static int hello_init(void) {     printk(KERN_ALERTHello World enter\n);     sema_init(sem_first,1);     sema_init(sem_second,0);     task1 kthread_create(thread_print_first,num[0],first);     if(IS_ERR(task1)) {         printk(KERN_ALERTkthread_create error!\n);         return -1;     }     task2 kthread_create(thread_print_second,num[1],second);     if(IS_ERR(task2)) {         printk(KERN_ALERTkthread_create error!\n);         kthread_stop(task1);         return -1;     }     wake_up_process(task1);     wake_up_process(task2);     return 0; } static void hello_exit(void) {     int ret;     if (!IS_ERR(task1)) {         ret kthread_stop(task1);         printk(task1 exit, ret %d\n, ret);     }     if (!IS_ERR(task2)) {         ret kthread_stop(task2);         printk(task2 exit, ret %d\n, ret);     }     printk(KERN_ALERThello world exit\n); } module_init(hello_init); module_exit(hello_exit); MODULE_LICENSE(GPL);
http://www.pierceye.com/news/53134/

相关文章:

  • 杭州竞彩网站开发公司怎么与网站进行活动推广
  • 深圳官网网站建设百度网站怎么提升排名
  • 湖南企业做网站阿旗建设局举报网站
  • 网站360全景图怎么做义乌网站建设yw126
  • 网站建设财务分析东莞横沥地图
  • 备案的域名拿来做别的网站网站空间服务商查询
  • idc 公司网站模板中国目前最好的搜索引擎
  • 博罗网站设计wordpress文章视频
  • 泰安市住房和城乡建设部网站我帮你建站
  • 影视网站设计论文重庆永川网站建设报价
  • 怎么把网站封包做app安新网站建设
  • 网站建设从哪几个情况去判设计理念网站
  • 文化传媒网站建设网上那些彩票网站可以自己做吗
  • 包头网站建设多少钱重庆最新通告
  • 水墨风格网站欣赏相册管理网站模板
  • 毕业设计网站做几个上市企业网站建设
  • 服务器怎么装网站吗网站界面(UI)设计
  • 如何编程制作自己的网站免费下载京东购物
  • 晋城网站开发APP客户端网站建设
  • 湘潭网站建设有名磐石网络建设网站iss
  • 淘客网站开发流程南昌网站快速排名提升
  • 珠海哪个公司建设网站好网站建设业务的延伸性
  • wordpress 制作网站模板上海网站制作开发
  • VM2008 做网站icann 域名注册网站
  • 视频网站VIP卡怎么做赠品个人soho要怎么做企业网站
  • 公司做网站需要哪些费用美食网站模板下载
  • 设备外贸用哪个网站网站开发的英文参考文献
  • 网站安全证书出错怎么做电子商务网站建设精英
  • 关于seo关键词选择有哪些方法合肥seo排名收费
  • 怎么用wordpress建电商网站网站域名改了以后新域名301