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

网站改版 升级的目的是什么wordpress 视频分集

网站改版 升级的目的是什么,wordpress 视频分集,哪个网站上可以做外贸,办公室图片线程安全:在多线程运行的时候,不论线程的调度顺序怎样,最终的结果都是 一样的、正确的,这个线程就是安全的。 保证线程安全的要求: 1. 对线程同步,保证同一时刻只有一个线程访问临界资源。 2.在多线程中使用…

线程安全:在多线程运行的时候,不论线程的调度顺序怎样,最终的结果都是 一样的、正确的,这个线程就是安全的。

 保证线程安全的要求

1. 对线程同步,保证同一时刻只有一个线程访问临界资源。

2.在多线程中使用线程安全的函数(可重入函数)。

线程安全的函数:一个函数能被多个线程同时调用且不发生竟态条件。

 不是线程安全的例子:

主线程分割字符串1 2 3 4 5 6

另一个线程分割字符串a b c d e f

#include<stdio.h>
#include<unistd.h>
#include<string.h>
#include<stdlib.h>
#include<pthread.h>void* fun(void*arg)
{char buff[128] = "a b c d e f";char*s = strtok(buff," ");while(s!=NULL){printf("fun =%s\n",s);sleep(1);s = strtok(NULL," ");}
}
int main()
{pthread_t id;pthread_create(&id,NULL,fun,NULL);char arr[128] = "1 2 3 4 5 6";char*p = strtok(arr," ");while(p!=NULL){printf("main p = %s\n",p);sleep(1);p = strtok(NULL," ");}
}

结果并没有输出main p = 2 3 4 5 6 ,这是因为多线程静态变量只有一份,无法分别记录信息,分割的东西会被覆盖,strtok方法中有静态变量记录分割后指向。

char *__cdecl strtok(char *_String, const char *_Delimiter)

 而使用strtok_s()可以保证线程安全

strtok_s()函数的原型如下:

char *__cdecl strtok_s(char *_String, const char *_Delimiter, char **_Context)

        _Context参数相当于strtok()函数中内部定义的静态SAVE_PTR指针,用来传递对字符串_String的处理进行到了哪里。 

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <pthread.h>void* fun(void *arg)
{char buff[128] = "a b c d e f";char * ptr = NULL;char * s = strtok_r(buff," ",&ptr);while( s != NULL ){printf("fun s=%s\n",s);sleep(1);s = strtok_r(NULL," ",&ptr);}
}
int main()
{pthread_t id;pthread_create(&id,NULL,fun,NULL);char arr[128] = "1 2 3 4 5 6";char * ptr = NULL;char * p = strtok_r(arr," ",&ptr);while( p != NULL ){printf("main p=%s\n",p);sleep(1);p = strtok_r(NULL," ",&ptr);}pthread_join(id,NULL);exit(0);
}

结果:分割互不干扰 

        所以使用的函数有静态变量时需要使用其改进函数,保证线程安全。

http://www.yayakq.cn/news/238534/

相关文章:

  • 网站建设优惠中网站上的文章用秀米可以做吗
  • 百度site app网站添加到网站首页源文件中的代码是哪些?别人做的网站自己想更新
  • 攀枝花网站seo简约大方自助建站模板
  • 煤矿网站建设搜索引擎优化推广
  • 橱柜网站建设公司温州手机建站模板
  • 服务器公司网站网站建设属于什么合同
  • 网站排名软件多浏览器做企业网站要用什么软件
  • wordpress文章数据库网站用什么软件seo排名优化
  • 建立免费空间网站wordpress表单采集
  • 网站推广服务网址企业介绍微网站怎么做
  • 郴州网站seo优化国内永久免费服务器
  • 岳阳做网站推荐百度网址大全下载
  • 那家网站建设好模板建站价格
  • wap网站制作软件关于三亚的网页设计
  • 济南网站建设推荐q479185700上快网站做qq登录界面
  • 文化建设基金管理有限公司网站随州做网站
  • 住房建设部官方网站设计费计取芜湖市建设办网站
  • 网站优化的价值百度联盟网站备案信息
  • 合肥 网站制作虚拟主机购买哪里好
  • 松原市城乡建设局网站如何网上销售自己的产品
  • 企业推广的主要目的是优化网站除了百度站长
  • 宿州做网站软路由做网站
  • 免费个人自助建站seo查询价格
  • 广东省建设见证员网站论述三种常见的网络营销方式
  • 做网站赚钱嘛公司网站维护
  • 网站模板建站公司网件路由器怎么样
  • wap网站源码下载wordpress资源合集显示
  • 新公司做网站多少钱枣庄做网站建设找哪家
  • 广州响应式网站word 添加 wordpress
  • 一个完整的网站推广方案深圳网站设计 公司