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

平阴县建设局网站网站seo检测工具

平阴县建设局网站,网站seo检测工具,做女团学什么舞蹈视频网站,销售性网站建设需求如果有十个银行账号通过不同的十条线程同时向同一个账号转账时,如果没有很好的机制保证十个账号依次存入,那么这些转账可能出问题。我们可以通过互斥量来解决。 C标准库提供了这个互斥量,只需要引入threads.头文件。 互斥量就像是一把锁&am…

如果有十个银行账号通过不同的十条线程同时向同一个账号转账时,如果没有很好的机制保证十个账号依次存入,那么这些转账可能出问题。我们可以通过互斥量来解决。

C标准库提供了这个互斥量,只需要引入threads.头文件。

互斥量就像是一把锁,在一个线程在访问某个共享资源前,需要对互斥量进行加锁操作,其他线程想要对互斥量加锁就会被阻塞,直到当前线程释放该锁。当锁被释放后,被阻塞的线程都开始继续执行,并再次重复前面的步骤,开始争夺可以对互斥量进行加锁的操作。

互斥量这种方式,可以保证每次只有一个线程在操作共享资源。例子如下:

#include <threads.h>
#include <stdio.h>
#define THREAD_COUNT 10
#define THREAD_LOOP 100000000
mtx_t mutex;//全局互斥量对象
long counter = 0;
int run(void *arg){for(int i = 0; i < THREAD_LOOP; i++){mtx_lock(&mutex); // 对互斥量进行加锁counter++; // 共享资源mtx_unlock(&mutex); // 释放锁}printf("Thread %d terminates.\n",*((int*)arg));return thrd_success;
}int main(void){
#ifndef __STDC_NO_THREADS__int ids[THREAD_COUNT];mtx_init(&mutex,mtx_plain);//创建一把锁thrd_t threads[THREAD_COUNT];for(int i = 0; i < THREAD_COUNT; i++){ids[i] = i+1;thrd_create(&threads[i],run,ids+i);//创建线程}for(int i = 0; i < THREAD_COUNT; i++){thrd_join(threads[i],NULL);//等待所有线程执行完成}printf("Counter value is: %ld.\n",counter);mtx_destroy(&mutex);//销毁互斥量对象
#endifreturn 0;
}
~/Desktop$ gcc mtx.c -o mtx
kyunban@kyunban-Parallels-ARM-Virtual-Machine:~/Desktop$ ./mtx
Thread 9 terminates.
Thread 5 terminates.
Thread 8 terminates.
Thread 1 terminates.
Thread 6 terminates.
Thread 7 terminates.
Thread 3 terminates.
Thread 2 terminates.
Thread 4 terminates.
Thread 10 terminates.
Counter value is: 1000000000.

在C语言中,互斥量有三种:

  • mtx_plain :最为简单的互斥量,可对其进行基本的加锁和解锁操作,但不适合需要重复加锁的场景,如在递归调用中,即使当前线程拥有该锁,但对同一个mtx_plain互斥量重复加锁也会导致当前线程被阻塞,从而导致死锁问题(因为当前线程想要加锁就要先等待自己释放锁,而要让当前线程释放锁,就要先要它加锁成功,完成对共享资源的操作后,才能够释放锁,如此一来就是一个无解的问题,死锁就形成了),对于递归调用中要用到锁的场景,可以使用mtx_recursive
  • mtx_recursive:也被称为可重入互斥量,它可以被同一个线程重复锁定多次,而不会阻塞线程,相应地,要对它进行相应多次mtx_unlock才能够完全解锁。
  • mtx_timed:需要配合mtx_timedlock函数一起使用,线程尝试给对应的互斥量加锁时,会以阻塞的方式等待一定时间,若超过给定的时间后仍未给互斥量成功上锁,则线程继续执行。

C标准库还提供了以下两个与“互斥”有关的函数:

  • call_once:只调用指定方法一次,即使它在多个线程中被调用。
  • mtx_trylock:锁住指定互斥量或直接返回
http://www.hkea.cn/news/343343/

相关文章:

  • 做网站域名公司每日重大军事新闻
  • 网站改版数据来源表改怎么做外链百科
  • wordpress怎样做单页网站谷歌查询关键词的工具叫什么
  • 县城做二手车网站自己建网站需要多少钱
  • 有没有专业做挂的网站引流推广方案
  • 购物网站开发文献综述百度收录需要多久
  • 营销型企业网站建设案例设计公司网站
  • 国际外贸网站电子商务
  • 南充做网站 www.xinbay.com全国免费发布广告信息
  • 备案 个人网站软件开发培训中心
  • 江苏网站建设网络推广关键词批量调词 软件
  • 东莞企业网站建设价格怎么在百度发布免费广告
  • 网站后台地址一般是在线seo优化工具
  • 海曙区住房和建设局网站备案域名
  • 网站建设硬件环境志鸿优化设计答案
  • 网页游戏网址推荐宁波网站推广网站优化
  • 福建就福建省住房与城乡建设厅网站高端网站建设企业
  • 网站如何做seo规划app怎么开发出来的
  • 吴江住房和城乡建设局官方网站产品软文是什么
  • 公司网站制作设谷歌seo是什么职业
  • 北京品牌高端网站建设公司燕郊今日头条
  • 网站制作公司徐州宁波网站seo哪家好
  • 做网站基本费用大概需要多少全媒体运营师报考官网在哪里
  • 网站建设款属于什么科目营业推广策划
  • 建设网站查证书网络广告有哪些形式
  • 分布式网站开发网络销售平台排名
  • 网站建设模板购买品牌seo培训
  • 深圳网站建设 cms网站推广交换链接
  • 标准物质网站建设5118站长工具箱
  • 做一个能注册用户的网站网络推广费用大概价格