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

国内免费的建网站平台群晖外网访问wordpress时格式变完

国内免费的建网站平台,群晖外网访问wordpress时格式变完,怎么在微信上做公众号,网站联动在C或C中,线程局部存储(Thread-Local Storage,简称TLS)是一种用于存储线程特有数据的方法。这意味着每个线程都可以访问它自己的变量实例,而不会影响到其他线程中的同名变量。这在多线程程序中非常有用,因为…

在C或C++中,线程局部存储(Thread-Local Storage,简称TLS)是一种用于存储线程特有数据的方法。这意味着每个线程都可以访问它自己的变量实例,而不会影响到其他线程中的同名变量。这在多线程程序中非常有用,因为它可以避免对共享数据的竞争和同步开销。

C++11引入了thread_local关键字来简化线程局部存储的使用。在C中,则需要依赖操作系统或编译器提供的特定机制,如GCC的__thread关键字。

C++11中的thread_local示例

下面是一个C++11中使用thread_local的简单例子:

#include <iostream>
#include <thread>
#include <vector>// 定义一个线程局部的整型变量
thread_local int tls_counter = 0;void increment_counter() {tls_counter++; // 每个线程都会独立地增加自己的tls_counterstd::cout << "Thread " << std::this_thread::get_id() << " incremented tls_counter to " << tls_counter << std::endl;
}int main() {std::vector<std::thread> threads;// 创建10个线程for (int i = 0; i < 10; ++i) {threads.emplace_back(increment_counter);}// 等待所有线程完成for (auto& th : threads) {th.join();}return 0;
}

输出:

Thread 140517560022592 incremented tls_counter to 1
Thread 140517551629888 incremented tls_counter to 1
Thread 140517534844480 incremented tls_counter to 1
Thread 140517543237184 incremented tls_counter to 1
Thread 140517409019456 incremented tls_counter to 1
Thread 140517526451776 incremented tls_counter to 1
Thread 140517518059072 incremented tls_counter to 1
Thread 140517438387776 incremented tls_counter to 1
Thread 140517429995072 incremented tls_counter to 1
Thread 140517421602368 incremented tls_counter to 1

在这个例子中,tls_counter是一个线程局部变量,每个线程都会拥有自己的tls_counter实例。因此,尽管所有线程都调用了increment_counter函数,但每个线程都会独立地增加自己的tls_counter,而不会影响到其他线程的tls_counter

GCC的__thread在C中的示例

对于C语言,可以使用GCC的__thread关键字来实现类似的功能:

#include <stdio.h>
#include <pthread.h>
#include <stdlib.h>// 定义一个线程局部的整型变量
__thread int tls_counter = 0;void* increment_counter(void* arg) {tls_counter++; // 每个线程都会独立地增加自己的tls_counterprintf("Thread %ld incremented tls_counter to %d\n", (long)pthread_self(), tls_counter);return NULL;
}int main() {pthread_t threads[10];// 创建10个线程for (int i = 0; i < 10; ++i) {pthread_create(&threads[i], NULL, increment_counter, NULL);}// 等待所有线程完成for (int i = 0; i < 10; ++i) {pthread_join(threads[i], NULL);}return 0;
}
Thread 127565616375360 incremented tls_counter to 1
Thread 127565599589952 incremented tls_counter to 1
Thread 127565624768064 incremented tls_counter to 1
Thread 127565582804544 incremented tls_counter to 1
Thread 127565607982656 incremented tls_counter to 1
Thread 127565591197248 incremented tls_counter to 1
Thread 127565574411840 incremented tls_counter to 1
Thread 127565477959232 incremented tls_counter to 1
Thread 127565486351936 incremented tls_counter to 1
Thread 127565494744640 incremented tls_counter to 1

这个例子与C++的例子类似,但使用了C的pthread库来创建和管理线程,并使用__thread关键字来声明线程局部变量。

注意,虽然__thread在GCC中非常有用,但它并不是C语言标准的一部分,因此在使用时需要考虑跨平台兼容性问题。

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

相关文章:

  • 网站优秀网站地址网络推广培训心得
  • 自助网站制作互联网营销优势
  • 怎么查看自己网站有没有做301wordpress网站后缀HTML
  • 山西建设执业注册中心网站wordpress公众号菜单
  • wordpress建站教程pdf世界500强企业
  • 网站数据库怎么建立长沙网站推广排名
  • 承德建设厅网站提供秦皇岛网站建设
  • 平台网站建设方案模板建设银行东四十条支行支行网站
  • 网站添加文章之后更新缓存访问网站就需要输入账号密码温州做公众号和做网站的地方
  • 哪里可以做企业网站晋城推广型网站开发
  • 网站的关于我们页面百度域名注册与解析服务
  • 网站一级目录wordpress 弹框
  • 外围网站怎么做新网站如何做友情链接
  • 如何建设网址导航网站如何查询网站
  • 阜阳恒亮做网站多少钱新图闻提供的产品和服务
  • 企业营销型网站建设品牌做电商运营需要具备什么能力
  • 网站页面设计价格抖音做我女朋友好不好网站
  • 黄石有没有做网站的电信的网做的网站移动网打不开该找电信还是移动
  • 南宁建网站必荐云尚网络aso关键词覆盖优化
  • 网站制作学习引流推广的方法
  • 网站开发的方法工程项目管理软件免费版
  • 极简个人网站模板凡科网建站系统源码
  • 新手做淘宝哪个网站比较好红河州建设局网站
  • 建设植绒衣架网站全屋定制十大名牌排名
  • 怎样说服公司做网站北京迈程网络网站建设公司
  • 经济网站建设广东网站建设网站
  • 苏州企业网站设计企业wordpress首页视频自动播放
  • 商务电商网站建设上线了网站
  • 网站改版如何做301wordpress导航菜单设置
  • 怎么做网站促收录买的网站可做360广告联盟吗