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

西安制作网站公司WordPress更换主题残留

西安制作网站公司,WordPress更换主题残留,在线测评网站怎么做,学php到做网站要多久线程安全:在多线程运行的时候,不论线程的调度顺序怎样,最终的结果都是 一样的、正确的,这个线程就是安全的。 保证线程安全的要求: 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/954431/

相关文章:

  • 万能网址大全成都网站建设优化公司电话
  • 重庆网站建设网页设计办公空间设计尺寸标准
  • 公司网站首页怎么做网络营销策划书4000字
  • 集团公司网站开发方案阳江58同城网招聘最新招聘
  • 宁波网站快速优化做网站需要什么域名
  • 建设工程八大员考试网站简洁大气的网站设计
  • 新闻门户网站什么意思爱空间装修公司口碑怎么样
  • 建设申请网站贴吧广告投放
  • 关于优化网站建设的方案商品详情页模板图片
  • 淘宝做网站的店lynda wordpress
  • 关于做我女朋友的网站网页制作与网站建设广州
  • 张家港外贸型网站建设画册排版设计
  • 工程网站模板wordpress搭建外贸网站
  • 西安企业网站建设公司网站建设门店牌子
  • 建筑培训网站有哪些中国住房和城乡建设部
  • 高端旅游的网站建设黄石港区建设局网站
  • 网站积分解决方案使用wordpress rss
  • 无锡快速建设网站方法手机优化大师怎么退款
  • 塑胶卡板东莞网站建设支持东莞五镇只进不出
  • crm系统 网站建设海洋馆网站建设
  • 免费建立个人视频网站公司做网站推广要注意什么
  • 英文网站建设方案 ppt模板edge网页视频怎么下载
  • 有什么类似凡科建站浙江省建设信息港网
  • 网站源码做exe执行程序玉溪市规划建设局网站
  • 自己建设网站需要审核吗wordpress多语模板
  • 专业群建设专题网站工业设计是干什么的
  • 积玉桥网站建设网站怎么做才有百度权重
  • 西安域名注册网站建设青岛仿站定制模板建站
  • 做网站带来的好处北京网站开发一般多少钱
  • 网站外链数怎么查有哪些做网站的网站