stdthread

    3热度

    3回答

    基本上我想要做的是写一个for循环,产生多个线程。线程必须多次调用某个函数。换句话说,我需要每个线程在不同的对象上调用相同的函数。我如何使用std :: thread C++库来做到这一点?

    2热度

    3回答

    我用std :: thread和C++ 11试验了一下,我遇到了奇怪的行为。 请看看下面的代码: #include <cstdlib> #include <thread> #include <vector> #include <iostream> void thread_sum_up(const size_t n, size_t& count) { size_t i;

    1热度

    1回答

    我使用线程为了在OpenGL应用程序中为用户提供一个shell。 我的问题是,我不能取消线程在我的主循环结束,因为std ::线程不提供取消方法,我的线程被阻止与std::cin >> var调用,所以我不能使用布尔值来存储线程应该停止的事实。 我想知道在线程(std :: thread)或其他解决方案中使用std :: cin是否有很好的方法。

    6热度

    3回答

    我想设置一个函数(或lambda函数)的调用,当当前线程退出时自动发生,但我看不到任何方式来做它与std::thread一起工作,除非我接管线程创建的全部任务,或者手动确保每个线程都调用一些我始终提供的作为其最后操作的特定功能。 从本质上讲,我想函数,其原型可能类似于这样的事情: on_thread_exit(const std::function<void()> &func); 这将执行任何

    27热度

    2回答

    嗯,我有一个使用std :: thread将数据传递到线程的问题。我认为我理解了拷贝构造函数等的一般语义,但似乎我并不十分把握这个问题。我有一个名为日志简单的类,隐藏了它的拷贝构造函数正是如此: class Log { public: Log(const char filename[], const bool outputToConsole = false); virtua

    1热度

    1回答

    我很少想到在两个连续的表达式之间,函数调用和它的主体的第一个表达式的执行之间,或者在构造函数的调用和它的执行之间发生了什么初始化。然后,我开始阅读关于并发... 1)在连续两次调用std::thread的构造用相同的可调用(如函数,仿函数,拉姆达),其身体开始有std::lock_guard初始化与同std::mutex对象,标准是否保证第一个thread构造函数调用对应的线程首先执行受锁定保护的

    1热度

    3回答

    我正在做一个大学项目,我将不同的多线程方法应用于模式匹配算法(pthread,omp),并将它们与它们各自的顺序实现进行比较。 在它运作良好的时刻,并根据算法和gcc的优化,我用的约2倍得到缩短运行时间 - 3 现在,我想使用std做到这一点: :然而,从我设法收集的线程来看,它们是在Linux上使用Pthreads实现的,所以我想知道这是否有任何意义。

    7热度

    3回答

    如何在C++中使用字符串std::thread::id?我试图将std::this_thread::get_id()生成的输出转换为字符串或char数组。

    -1热度

    1回答

    static T MultiplyElement(const Matrix& matrixA, const Matrix& matrixB, unsigned M2col, unsigned M1row) { T sumToReturn = 0; for (unsigned iM1colM2row = 0; iM1colM2row < matrixA.m_n; i

    2热度

    2回答

    我有一个名为任务内部拥有成员std ::线程的类。总体思路是创建一个线程,随着处理请求的到来而保持活动状态。 class Task { public: Task(); ~Task(); void start(); // some funny stuff here protected: Task(const Task& ref);