草庐IT

thread-id

全部标签

c++ - 错误 : use of deleted function ‘std::thread::thread(const std::thread&)'

下面的代码编译并按预期工作。结构(类)A派生自std::thread并扩展了一个int。main代码创建一些线程,然后等待它们完成。问题在于,虽然代码编译时没有结构A中的析构函数,但当析构函数未注释时(~A(){})我得到:error:useofdeletedfunction‘std::thread::thread(conststd::thread&)'我不知道为什么。此外,我不明白为什么代码既适用于push_back也适用于emplace_back而根据我的理解它不应该适用于push_back.#include#include#includestructA:std::thread{i

c++ - 在 C++ 中生成唯一 ID

在C++中从两个(或更多)短整数生成唯一ID的最佳方法是什么?我正在尝试唯一标识图中的顶点。顶点包含两到四个短整数作为数据,理想情况下ID是它们的某种哈希。比起速度或易用性,更喜欢便携性和独特性。这里有很多很好的答案,今晚我将尝试所有这些答案,看看最适合我的问题。关于我正在做的事情再多说几句。该图是音频文件样本的集合。我将该图用作马尔可夫链,以从旧文件生成新的音频文件。由于每个顶点存储一些样本并指向另一个样本,并且样本都是短整数,因此从数据生成ID似乎很自然。将它们组合成一个longlong听起来不错,但也许像0123generateID这样简单的东西就是我所需要的。不确定需要多少空间

c++ - tr1::hash 用于 boost::thread::id?

我开始使用unordered_set来自tr1的类(class)命名空间以boost对普通(基于树的)STL的访问map.但是,我想在boost(boost::thread::id)中存储对线程ID的引用,并意识到这些标识符的API非常不透明,您无法清楚地获得它的哈希值。令人惊讶的是,boost实现了tr1的部分内容(包括hash和unordered_set),但它没有定义能够散列线程ID的散列类。查看boost::thread::id的文档我发现线程ID可以输出到流中,所以我的散列解决方案是这样的:structboost_thread_id_hash{size_toperator()

c++ - Boost::thread 中的 join() 究竟是什么? (C++)

在Java中,我会做类似的事情:Threadt=newMyThread();t.start();我通过调用start()方法启动线程。所以稍后我可以做类似的事情:for(inti=0;i创建一组线程并执行run()方法中的代码。但是,在C++中,没有start()方法这样的东西。使用Boost,如果我想要一个线程开始运行,我必须调用join()方法以使线程运行。#include#includeclassWorker{public:Worker(){//thethreadisnot-a-threaduntilwecallstart()}voidstart(intN){m_Thread=b

c++ - 如何将函数参数传递给 boost::thread_groups::create_thread()

我是Boost.Threads的新手,正在尝试了解如何将函数参数传递给boost::thread_groups::create_thread()函数。在阅读了一些教程和boost文档之后,我了解到可以简单地将参数传递给该函数,但我无法使该方法起作用。我读到的另一种方法是使用仿函数将参​​数绑定(bind)到我的函数,但这会创建参数的拷贝,我严格要求传递const引用,因为参数将是大矩阵(我打算这样做通过使用boost::cref(Matrix)一旦我得到这个简单的例子。现在,让我们开始讨论代码:voidprintPower(floatb,floate){cout这不会编译并出现以下错误

c++ - 我可以将 boost::threadpool 用作 'thread-safe queue' 吗?

我需要的实际上是一个线程安全的队列结构,其中多个客户端不断将数据转储到队列中,一个工作线程不断处理并弹出队列STL或Boost中是否存在任何成熟的解决方案?我现在考虑使用Boost::threadpool来做这件事。只需将并行线程数设置为1,每次有新消息从客户端到达时,任务函数的输入参数都会更改。这是否有意义,这里是否存在我尚未预料到的任何限制? 最佳答案 在boost中有一个messagequeueclass,这就是您所需要的:一个线程安全的队列。消息队列是一个广泛用于进程间通信的概念。消息队列是线程安全的队列,其主要特点是它会阻

c++ - '[' token 之前的预期不合格 ID

我知道这个错误一般是语法错误,但我似乎找不到这段代码有什么问题。谁能帮我指出来?以下是我遇到的错误:deli.cc:10:7:error:expectedunqualified-idbefore‘[’tokenint[]myCashierNums;^deli.cc:11:7:error:expectedunqualified-idbefore‘[’tokenint[]myOrderNums;^这是我在Ubuntu14.0464位上使用g++编译的程序。#include#includeusingnamespacestd;classSandwichBoard{//private:intmy

c++ - 通过进程ID获取hwnd C++

如果我知道进程ID,我如何获取应用程序的HWND?任何人都可以张贴sample吗?我正在使用MSVC++2010。我找到了Process::MainWindowHandle,但我不知道如何使用它。 最佳答案 HWNDg_HWND=NULL;BOOLCALLBACKEnumWindowsProcMy(HWNDhwnd,LPARAMlParam){DWORDlpdwProcessId;GetWindowThreadProcessId(hwnd,&lpdwProcessId);if(lpdwProcessId==lParam){g_HWN

kafka生产者发送消息报错 Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected

报这个错误是因为kafka里的配置要修改下在config目录下server.properties配置文件这下发送消息就不会一直等待,就可以发送成功了

c++ - 如何在 C++ 中将 std::thread::id 转换为字符串?

如何在C++中将std::thread::id类型转换为字符串?我正在尝试将std::this_thread::get_id()生成的输出类型转换为字符串或字符数组。 最佳答案 automyid=this_thread::get_id();stringstreamss;ss 关于c++-如何在C++中将std::thread::id转换为字符串?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/que