草庐IT

thread_func

全部标签

c++ - 为什么这个简单的 std::thread 示例不起作用?

尝试使用g++-std=gnu++0xt1.cpp和g++-std=c++0xt1.cpp编译以下示例,但这两者导致示例中止。$./a.outterminatecalledafterthrowinganinstanceof'std::system_error'what():Aborted示例如下:#include#includevoiddoSomeWork(void){std::cout我正在Ubuntu11.04上尝试这个:$g++--versiong++(Ubuntu/Linaro4.5.2-8ubuntu4)4.5.2有人知道我错过了什么吗? 最佳答案

c++ - QObject : Cannot create children for a parent that is in a different thread

我在Windows7Ultimate下使用Qt4.6.0(32位)。考虑以下QThread:界面classResultThread:publicQThread{Q_OBJECTQString_post_data;QNetworkAccessManager_net_acc_mgr;signals:voidonFinished(QNetworkReply*net_reply);privateslots:voidonReplyFinished(QNetworkReply*net_reply);public:ResultThread();voidrun();voidsetPostData(co

c++ - 类的std::thread调用方法

这个问题在这里已经有了答案:关闭10年前.PossibleDuplicate:Startthreadwithmemberfunction我有一个小类:classTest{public:voidrunMultiThread();private:intcalculate(intfrom,intto);}如何使用两组不同的参数运行方法calculate(例如calculate(0,10),calculate(11,20))在两个线程中来自方法runMultiThread()?PS谢谢我忘了我需要传递this作为参数。 最佳答案 没那么难:

c++ - C++ 中 func() 和 (*this).func() 的区别

我正在编写其他人的C++代码,我发现对某个函数func()的奇怪调用。这是一个例子:if(condition)func();else(*this).func();func()和(*this).func()有什么区别?在什么情况下调用func()和(*this).func()会执行不同的代码?就我而言,func()不是宏。它是基类中的虚函数,在基类和派生类中都有实现,并且没有免费的func()。if位于基类的方法中。 最佳答案 实际上是有区别的,但在一个非常重要的上下文中。考虑这段代码:voidfunc(){std::coutstru

javascript - 当 Node.js 在内部仍然依赖于 Threads 时,它如何天生就更快?

我刚刚观看了以下视频:IntroductiontoNode.js仍然不明白您是如何获得速度优势的。主要是,RyanDahl(Node.js的创建者)曾说过,Node.js是基于事件循环的,而不是基于线程的。线程很昂贵,只能留给并发编程专家使用。随后,他展示了Node.js的架构堆栈,该堆栈具有底层C实现,内部有自己的线程池。所以很明显,Node.js开发人员永远不会启动他们自己的线程或直接使用线程池......他们使用异步回调。这么多我明白了。我不明白的是Node.js仍然在使用线程......它只是隐藏了实现,所以如果50个人请求50个文件(当前不在内存中)那么这会更快吗?需要50个

go - func中的空返回与golang中的返回值

这个问题在这里已经有了答案:Howdoesdeferandnamedreturnvaluework?(3个回答)关闭5年前。我在Github上阅读了一些用Golang编写的代码,发现了一段非常有趣的代码。我把它简化了。funcInsert(docs...interface{})(errerror){fori:=0;i我对这里的空返回很困惑......它是如何工作的?他是否返回nil作为错误或中断循环?我知道这个问题看起来很愚蠢,但是我在godocs中找不到任何关于此的信息......另外,我不明白我们如何返回错误,据我所知,这是以某种方式声明的作为返回。(errerror)是否意味着我

go - 如何从 Go 中的 func main 返回?

如何从main中返回退出代码,就像在C中一样?上下文:我正在检查是否有一个命令行参数,如果参数计数或参数无效,我将打印用法并返回错误状态代码。 最佳答案 Go使用Exit为此发挥作用。只需将状态码作为参数传递即可:)要exit(1)出现错误消息,您可以使用log.Fatal()/log.Fatalf()/log.Fatalln():https://pkg.go.dev/log#Fatal 关于go-如何从Go中的funcmain返回?,我们在StackOverflow上找到一个类似的问题

php - 如何在 PHP 中使用 call_user_func_array 调用构造函数

如何使用call_user_func_array调用类的构造函数这是不可能的:$obj=new$class();call_user_func_array(array($obj,'__construct'),$args);因为如果构造函数有参数,new会失败。约束:我不控制必须实例化的类,也不能修改它们。不要问我为什么要做这种疯狂的事情,这是一个疯狂的测试。 最佳答案 您可以使用reflection喜欢:$reflect=newReflectionClass($class);$instance=$reflect->newInstanc

java - Thread.sleep 与 TimeUnit.SECONDS.sleep

如果我要调用让Java线程进入休眠状态,是否有理由选择其中一种形式而不是另一种形式?Thread.sleep(x)或TimeUnit.SECONDS.sleep(y) 最佳答案 TimeUnit.SECONDS.sleep(x)将调用Thread.sleep.唯一的区别是可读性和使用TimeUnit对于不明显的持续时间可能更容易理解(例如:Thread.sleep(180000)与TimeUnit.MINUTES.sleep(3))。引用如下TimeUnit中sleep()的代码:publicvoidsleep(longtimeou

java - Java 中的 Timer 和 TimerTask 与 Thread + sleep

我在这里发现了类似的问题,但没有令我满意的答案。所以再次改写问题-我有一项需要定期完成的任务(比如1分钟间隔)。与创建具有无限循环sleep的新线程相比,使用Timertask和Timer执行此操作有什么优势?使用timertask的代码片段-TimerTaskuploadCheckerTimerTask=newTimerTask(){publicvoidrun(){NewUploadServer.getInstance().checkAndUploadFiles();}};TimeruploadCheckerTimer=newTimer(true);uploadCheckerTime