C++怎么将线程看作全局​容器

技术C++怎么将线程看作全局​容器本篇内容主要讲解“C++怎么将线程看作全局容器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++怎么将线程看作全局容器”吧!CP.24:将

本文主要解释“C如何将线程视为全局容器”。感兴趣的朋友不妨看看。本文介绍的方法简单、快速、实用。让边肖带你学习“C如何将线程视为全局容器”!

CP.24:将线程看作全局容器

Reason(原因)

为了维护指针安全和避免泄漏,我们需要考虑athread使用了哪些指针。如果athreadis被分离,我们可以安全地传递指向静态和自由存储对象的指针(仅限)。

为了保证指针安全,避免泄露。我们需要考虑线程使用什么指针。如果线程被分离,我们可以安全地将指向静态变量的指针和自由存储对象传递给线程。

Example(示例)

无效f(int* p)

{

//.

* p=99

//.

}

int glob=33

void some_fct(int* p)

{

int x=77

std:thread t0(f,x);//坏

std:thread t1(f,p);//坏

std:thread t2(f,glob);//好的

auto q=make _ uniqueint(99);

std:thread t3(f,q . get());//坏

//.

t0 . detach();

t1 . detach();

T2 . detach();

T3 . detach();

//.

}通过“OK”这个词,我们想表达的是,只要线程继续使用指针,指针所指向的对象就会保持在作用域内(并且保持可用)。通过“坏”这个词,我们想表达的是线程在对象被破坏后会使用指向对象的指针。这里,线程并发执行的事实不会影响生命周期和所有权主题;您可以将这些线程视为由some_fct调用的函数对象。

Note(注意)

如果被已经脱离的线程使用,即使是静态存储期的对象也会出现问题:如果线程执行到程序结束,可能会与静态存储期对象的析构器进程并发执行,对这类对象的访问可能会产生竞争。

Note(注意)

如果你不知道分离线程和使用GSL gsl:joining_thread,这个指导方针是多余的。但是,很难转换代码以符合这个标准,如果它是第三方库,可能根本不可能实现它。在这种情况下,为了确保生命周期安全和类型安全,该代码变得非常必要。

一般来说,判断一个线程是否会执行分离操作是不可能的,但是在简单的常见情况下很容易检测到。如果我们不能证明线程不会调用detach,那么我们必须假设它会调用并且它的生存期会超出它构造的范围;然后可以应用通常的生命周期和所有权建议。

Enforcement(实施建议)

标志试图将局部变量传递给可能分离()的线程。

标记试图将局部变量传递给可能分离的线程的情况。

至此,相信大家对“C如何将线程视为全局容器”有了更深的理解。让我们做一些实际工作吧!这是网站。更多相关内容,可以去相关渠道查询,关注我们,继续学习!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/116971.html

(0)

相关推荐

  • 南辕北辙原文及翻译,《南辕北辙》的古文意思和寓意

    技术南辕北辙原文及翻译,《南辕北辙》的古文意思和寓意1南辕北辙原文及翻译、《南辕北辙》的古文意思如下:
    我今天来上朝的时候,在大路上遇见了一个人,正在面朝北面驾着他的车,他告诉我说:‘我想到楚国去。’我说:‘您到楚国去,

    生活 2021年10月23日
  • Hibernate对象持久化怎么理解

    技术Hibernate对象持久化怎么理解本篇内容介绍了“Hibernate对象持久化怎么理解”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅

    攻略 2021年12月4日
  • 通过爬虫代理IP快速增加博客阅读量的示例分析

    技术通过爬虫代理IP快速增加博客阅读量的示例分析通过爬虫代理IP快速增加博客阅读量的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。首先题目所说的

    攻略 2021年10月28日
  • speak的用法,say和speak的用法和区别

    技术speak的用法,say和speak的用法和区别say一般情况下,我们用“say”来表述某人说过某事speak的用法。“say”常常被用来复述说某人说过的话。tell我们使用“tell”来表示某人已经指示或通知某人某

    生活 2021年10月20日
  • Mybatis @select like传值问题是怎样的

    技术Mybatis @select like传值问题是怎样的这篇文章给大家介绍Mybatis @select like传值问题是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。巧用CONCAT拼

    攻略 2021年10月20日
  • 淘宝盖楼活动怎么做,手机淘宝店铺怎么创建活动页面

    技术淘宝盖楼活动怎么做,手机淘宝店铺怎么创建活动页面手机淘宝店铺创建活动页面步骤如下:在手机登陆到淘宝然后依次点击“卖家中心”-“店铺管理”-“手机淘宝店铺”然后在店铺设置下面点面点击“无线活动管理”;在进入的页面下点击

    生活 2021年10月25日