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

如何选择靠谱的网站建设大数据培训

如何选择靠谱的网站建设,大数据培训,网站建设功能覆盖范围,关于微网站策划ppt怎么做线程安全:在多线程运行的时候,不论线程的调度顺序怎样,最终的结果都是 一样的、正确的,这个线程就是安全的。 保证线程安全的要求: 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.hrbkazy.com/news/10851.html

相关文章:

  • 做夺宝网站要办理什么意思什么是企业营销型网站
  • 建设部工程业绩网站搜索营销
  • 效果图网站源码企业网络推广服务
  • 网站和微信公众号建设方案上海百度竞价点击软件
  • 安徽省工程建设信息官方网站谷歌官网下载app
  • 网站https建设方案seo顾问是什么
  • 常州溧阳网站建设培训课程网站
  • 网站开发 流程图成都百度推广联系方式
  • 网站建设案例ppt阿里网站seo
  • 云服务器可以做多个网站百度招聘官网
  • 房产网站怎么推广seo运营人士揭秘
  • 网站运营目的百度自助建站官网
  • 网站设计教程网络营销策划ppt
  • 健身器材网站源码网站制作流程和方法
  • 广州安全教育平台初始密码东莞seo网站优化排名
  • 南阳哪里做网站比较好搜索百度app下载
  • 做网站公司的未来seo关键字优化软件
  • 无锡本地模板网站建设产品女排联赛最新排行榜
  • 公司网站设计与制深圳龙华区大浪社区
  • 有没有什么网站免费做名片友情链接交换平台免费
  • 衡阳百度网站建设seo岗位职责
  • 素材网站源码百度做免费推广的步骤
  • 网站建设简介百度导航最新版本
  • 西宁网站建设平台公司百度一下你就知道官网网页
  • 阜阳做网站哪家好北京seo收费
  • 音乐介绍网站怎么做怎样做网站推广啊
  • 英文都不懂 学网站建设维护难吗怎么做网络营销推广啊
  • 服务佳的小企业网站建设百度搜索引擎盘搜搜
  • php网站开发优化seo优化一般多少钱
  • 山东建设执业资格注册中心网站网络营销推广专员