您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ workerThread函数代码示例

51自学网 2021-06-03 10:01:41
  C++
这篇教程C++ workerThread函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中workerThread函数的典型用法代码示例。如果您正苦于以下问题:C++ workerThread函数的具体用法?C++ workerThread怎么用?C++ workerThread使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了workerThread函数的24个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: cb

void Filter::use(        Filter::SharedDataLocker *locker,        const std::function<void ()> &cb,        const std::function<void ()> &rs){    if ( !workerThread() ){        cb();        rs();    } else if ( locker && locker->m_allLocked ){        workerThread()->postWork(cb, rs);    }    delete locker;}
开发者ID:livecv,项目名称:livecv,代码行数:13,


示例2: QObject

Database::Database( const QString& dbname, QObject* parent )    : QObject( parent )    , m_ready( false )    , m_impl( new DatabaseImpl( dbname ) )    , m_workerRW( new DatabaseWorkerThread( this, true ) )    , m_idWorker( new IdThreadWorker( this ) ){    s_instance = this;    if ( MAX_WORKER_THREADS < DEFAULT_WORKER_THREADS )        m_maxConcurrentThreads = MAX_WORKER_THREADS;    else        m_maxConcurrentThreads = qBound( DEFAULT_WORKER_THREADS, QThread::idealThreadCount(), MAX_WORKER_THREADS );    tDebug() << Q_FUNC_INFO << "Using" << m_maxConcurrentThreads << "database worker threads";    connect( m_impl, SIGNAL( indexReady() ), SIGNAL( indexReady() ) );    connect( m_impl, SIGNAL( indexReady() ), SIGNAL( ready() ) );    connect( m_impl, SIGNAL( indexReady() ), SLOT( setIsReadyTrue() ) );    Q_ASSERT( m_workerRW );    m_workerRW.data()->start();    while ( m_workerThreads.count() < m_maxConcurrentThreads )    {        QPointer< DatabaseWorkerThread > workerThread( new DatabaseWorkerThread( this, false ) );        Q_ASSERT( workerThread );        workerThread.data()->start();        m_workerThreads << workerThread;    }    m_idWorker->start();}
开发者ID:R4md4c,项目名称:tomahawk,代码行数:32,


示例3:

 void* OperationQueue::Impl::onWorkerThread(void* data) {     auto impl = (OperationQueue::Impl*)data;     impl->workerThread();     impl->release();     return nullptr; }
开发者ID:adroitly,项目名称:boom,代码行数:7,


示例4: workerThread

void WebSharedWorkerImpl::connect(WebMessagePortChannel* webChannel, ConnectListener* listener){    workerThread()->runLoop().postTask(        createCallbackTask(&connectTask, adoptPtr(webChannel)));    if (listener)        listener->connected();}
开发者ID:Igalia,项目名称:blink,代码行数:7,


示例5: main

int main(int argc, char **argv){    ros::init(argc, argv, "move_controller_node");    move_controller = new vigir_ocs::PSMoveTemplateController();    boost::thread workerThread(workerFunc);    while(ros::ok())    {        //hotkey_relay.onUpdate();        ros::spinOnce();        usleep(3000);    }    io_mutex.lock();    ros_down = true;    io_mutex.unlock();    workerThread.join();    delete move_controller;    return 0;}
开发者ID:team-vigir,项目名称:vigir_ocs_common,代码行数:25,


示例6: main

int main(int argc, char **argv){    ros::init(argc, argv, "image_raw");    ros::NodeHandle n;    image_transport::Publisher image_pub;    image_transport::ImageTransport it(n);    image_pub = it.advertise("image_raw", 1);    sensor_msgs::Image img_;    ros::Rate loop_rate(10);    PixyCam cam;    boost::thread workerThread(&PixyCam::run, &cam);//    cam.run();    int count = 0;    while (ros::ok()){        cv::Mat frame = cam.getImage();        fillImage(img_, "bgr8", frame.rows, frame.cols, frame.channels() * frame.cols, frame.data);        image_pub.publish(img_);        ros::spinOnce();        loop_rate.sleep();        ++count;    }    return 0;}
开发者ID:erlerobot,项目名称:erle_pixy,代码行数:35,


示例7: ASSERT

void WebSharedWorkerImpl::onScriptLoaderFinished(){    ASSERT(m_loadingDocument);    ASSERT(m_mainScriptLoader);    if (m_askedToTerminate)        return;    if (m_mainScriptLoader->failed()) {        m_mainScriptLoader->cancel();        m_client->workerScriptLoadFailed();        // The SharedWorker was unable to load the initial script, so        // shut it down right here.        delete this;        return;    }    Document* document = m_mainFrame->frame()->document();    WorkerThreadStartMode startMode = DontPauseWorkerGlobalScopeOnStart;    if (InspectorInstrumentation::shouldPauseDedicatedWorkerOnStart(document))        startMode = PauseWorkerGlobalScopeOnStart;    // FIXME: this document's origin is pristine and without any extra privileges. (crbug.com/254993)    SecurityOrigin* starterOrigin = document->securityOrigin();    OwnPtrWillBeRawPtr<WorkerClients> workerClients = WorkerClients::create();    provideLocalFileSystemToWorker(workerClients.get(), LocalFileSystemClient::create());    WebSecurityOrigin webSecurityOrigin(m_loadingDocument->securityOrigin());    provideContentSettingsClientToWorker(workerClients.get(), adoptPtr(m_client->createWorkerContentSettingsClientProxy(webSecurityOrigin)));    RefPtrWillBeRawPtr<ContentSecurityPolicy> contentSecurityPolicy = m_mainScriptLoader->releaseContentSecurityPolicy();    OwnPtr<WorkerThreadStartupData> startupData = WorkerThreadStartupData::create(        m_url,        m_loadingDocument->userAgent(),        m_mainScriptLoader->script(),        nullptr,        startMode,        contentSecurityPolicy ? contentSecurityPolicy->headers() : nullptr,        starterOrigin,        workerClients.release());    m_loaderProxy = WorkerLoaderProxy::create(this);    setWorkerThread(SharedWorkerThread::create(m_name, m_loaderProxy, *this));    InspectorInstrumentation::scriptImported(m_loadingDocument.get(), m_mainScriptLoader->identifier(), m_mainScriptLoader->script());    m_mainScriptLoader.clear();    workerThread()->start(startupData.release());    m_workerInspectorProxy->workerThreadCreated(m_loadingDocument.get(), workerThread(), m_url);    m_client->workerScriptLoaded();}
开发者ID:howardroark2018,项目名称:chromium,代码行数:47,


示例8: DirListWorker

void DiskLocation::fetchItems(QDir::Filter dirFilter, bool recursive){    DirListWorker *dlw  = new DirListWorker(m_info->absoluteFilePath(), dirFilter, recursive);    connect(dlw,  SIGNAL(itemsAdded(DirItemInfoList)),            this, SIGNAL(itemsAdded(DirItemInfoList)));    connect(dlw,  SIGNAL(workerFinished()),            this, SLOT(onItemsFetched()));    workerThread()->addRequest(dlw);}
开发者ID:akashgaurav89,项目名称:files-app,代码行数:9,


示例9: main

int main(int argc, char* argv[])  {      std::cout << "main: startup" << std::endl;      Worker w = Worker();    boost::thread workerThread(w);      std::cout << "main: waiting for thread" << std::endl;      workerThread.join();      std::cout << "main: done" << std::endl;      return 0;  }
开发者ID:aalex,项目名称:proto-toonloop,代码行数:10,


示例10: initializeLoader

void WebWorkerImpl::startWorkerContext(const WebURL& scriptUrl,                                       const WebString& userAgent,                                       const WebString& sourceCode){    initializeLoader(scriptUrl);    setWorkerThread(DedicatedWorkerThread::create(scriptUrl, userAgent,                                                  sourceCode, *this, *this));    // Worker initialization means a pending activity.    reportPendingActivity(true);    workerThread()->start();}
开发者ID:flwh,项目名称:Alcatel_OT_985_kernel,代码行数:11,


示例11: lock

//----------------------------------------------------------------------------------------//Command worker thread control//----------------------------------------------------------------------------------------void DeviceContext::StartCommandWorkerThread(size_t deviceIndex, volatile ReferenceCounterType& remainingThreadCount, volatile ReferenceCounterType& suspendedThreadCount, std::mutex& commandMutex, std::condition_variable& commandSent, std::condition_variable& commandProcessed, IExecutionSuspendManager* asuspendManager, const DeviceContextCommand& command){	std::unique_lock<std::mutex> lock(commandMutex);	if(!commandWorkerThreadActive)	{		commandWorkerThreadActive = true;		std::thread workerThread(std::bind(std::mem_fn(&DeviceContext::CommandWorkerThread), this, deviceIndex, std::ref(remainingThreadCount), std::ref(suspendedThreadCount), std::ref(commandMutex), std::ref(commandSent), std::ref(commandProcessed), asuspendManager, std::ref(command)));		workerThread.detach();		commandThreadReady.wait(lock);	}}
开发者ID:roman-murashov,项目名称:exodus,代码行数:14,


示例12: initializeLoader

void WebSharedWorkerImpl::startWorkerContext(const WebURL& url, const WebString& name, const WebString& userAgent, const WebString& sourceCode, const WebString& contentSecurityPolicy, WebContentSecurityPolicyType policyType, long long){    initializeLoader(url);    WorkerThreadStartMode startMode = m_pauseWorkerContextOnStart ? PauseWorkerGlobalScopeOnStart : DontPauseWorkerGlobalScopeOnStart;    OwnPtr<WorkerClients> workerClients = WorkerClients::create();    provideLocalFileSystemToWorker(workerClients.get(), WorkerFileSystemClient::create());    OwnPtr<WorkerThreadStartupData> startupData = WorkerThreadStartupData::create(url, userAgent, sourceCode, startMode, contentSecurityPolicy, static_cast<WebCore::ContentSecurityPolicy::HeaderType>(policyType), workerClients.release());    setWorkerThread(SharedWorkerThread::create(name, *this, *this, startupData.release()));    workerThread()->start();}
开发者ID:ychaim,项目名称:chromium.bb,代码行数:12,


示例13: startWithSourceCode

 void startWithSourceCode(const String& source) {   std::unique_ptr<Vector<CSPHeaderAndType>> headers =       wrapUnique(new Vector<CSPHeaderAndType>());   CSPHeaderAndType headerAndType("contentSecurityPolicy",                                  ContentSecurityPolicyHeaderTypeReport);   headers->append(headerAndType);   workerThread()->start(WorkerThreadStartupData::create(       KURL(ParsedURLString, "http://fake.url/"), "fake user agent", source,       nullptr /* cachedMetaData */, DontPauseWorkerGlobalScopeOnStart,       headers.get(), "" /* referrerPolicy */, m_securityOrigin.get(),       nullptr /* workerClients */, WebAddressSpaceLocal,       nullptr /* originTrialTokens */, nullptr /* workerSettings */,       V8CacheOptionsDefault)); }
开发者ID:mirror,项目名称:chromium,代码行数:14,


示例14: main

int main(){    std::cout << "main: startup" << std::endl;    boost::thread workerThread(workerFunc);    std::cout << "main: waiting for thread" << std::endl;    workerThread.join();    std::cout << "main: done" << std::endl;    return 0;}
开发者ID:sweetwood,项目名称:core-android-market,代码行数:14,


示例15: main

int main(int argc, char* argv[]){	if (argc != 2)	{		std::cerr << "Usage: TCP_echo_server <port>/n";		return -1;	}	wiringPiSetup();	wiringPiI2CSetup(I2C_TEMP_ADDRESS);	boost::thread workerThread(listener_loop, std::atoi(argv[1])); // Creates a thread that loops to accept sockets	workerThread.join();		return 0;}
开发者ID:Shalelol,项目名称:tmc,代码行数:15,


示例16: connect

void DiskLocation::addExternalFsWorkerRequest(ExternalFileSystemChangesWorker *extFsWorker){    connect(extFsWorker,    SIGNAL(added(DirItemInfo)),            this,           SIGNAL(extWatcherItemAdded(DirItemInfo)));    connect(extFsWorker,    SIGNAL(removed(DirItemInfo)),            this,           SIGNAL(extWatcherItemRemoved(DirItemInfo)));    connect(extFsWorker,    SIGNAL(changed(DirItemInfo)),            this,           SIGNAL(extWatcherItemChanged(DirItemInfo)));    connect(extFsWorker,    SIGNAL(finished(int)),            this,           SIGNAL(extWatcherChangesFetched(int)));        workerThread()->addRequest(extFsWorker);}
开发者ID:akashgaurav89,项目名称:files-app,代码行数:16,


示例17: workerThread

void scoring::MarkovNetworkScoreCalculator::calculateScores(FloatMap &cache) {    this->outOfTime = false;    boost::asio::io_service io_t;    t = new boost::asio::deadline_timer(io_t);    if (runningTime > 0) {        t->expires_from_now(boost::posix_time::seconds(runningTime));        t->async_wait(boost::bind(&scoring::MarkovNetworkScoreCalculator::timeout, this, boost::asio::placeholders::error));        boost::thread workerThread(boost::bind(&scoring::MarkovNetworkScoreCalculator::calculateScores_internal, this, boost::ref(cache)));        io_t.run();        workerThread.join();        io_t.stop();    } else {        calculateScores_internal(cache);    }}
开发者ID:shskwmt,项目名称:urlearning,代码行数:16,


示例18: QObject

Database::Database( const QString& dbname, QObject* parent )    : QObject( parent )    , m_ready( false )    , m_impl( new DatabaseImpl( dbname ) )    , m_workerRW( new DatabaseWorkerThread( this, true ) )    , m_idWorker( new IdThreadWorker( this ) ){    s_instance = this;    // register commands    registerCommand<DatabaseCommand_AddFiles>();    registerCommand<DatabaseCommand_DeleteFiles>();    registerCommand<DatabaseCommand_CreatePlaylist>();    registerCommand<DatabaseCommand_DeletePlaylist>();    registerCommand<DatabaseCommand_LogPlayback>();    registerCommand<DatabaseCommand_RenamePlaylist>();    registerCommand<DatabaseCommand_SetPlaylistRevision>();    registerCommand<DatabaseCommand_CreateDynamicPlaylist>();    registerCommand<DatabaseCommand_DeleteDynamicPlaylist>();    registerCommand<DatabaseCommand_SetDynamicPlaylistRevision>();    registerCommand<DatabaseCommand_SocialAction>();    registerCommand<DatabaseCommand_SetCollectionAttributes>();    registerCommand<DatabaseCommand_SetTrackAttributes>();    registerCommand<DatabaseCommand_ShareTrack>();    if ( MAX_WORKER_THREADS < DEFAULT_WORKER_THREADS )        m_maxConcurrentThreads = MAX_WORKER_THREADS;    else        m_maxConcurrentThreads = qBound( DEFAULT_WORKER_THREADS, QThread::idealThreadCount(), MAX_WORKER_THREADS );    tDebug() << Q_FUNC_INFO << "Using" << m_maxConcurrentThreads << "database worker threads";    connect( m_impl, SIGNAL( indexReady() ), SLOT( markAsReady() ) );    connect( m_impl, SIGNAL( indexReady() ), SIGNAL( indexReady() ) );    Q_ASSERT( m_workerRW );    m_workerRW.data()->start();    while ( m_workerThreads.count() < m_maxConcurrentThreads )    {        QPointer< DatabaseWorkerThread > workerThread( new DatabaseWorkerThread( this, false ) );        Q_ASSERT( workerThread );        workerThread.data()->start();        m_workerThreads << workerThread;    }    m_idWorker->start();}
开发者ID:hatchetindustries,项目名称:tomahawk,代码行数:47,


示例19: QThread

void MainWindow::released(){    if(btnSearch->text() == QString(ConstStrings::search)){        btnSearch->setText(QString(ConstStrings::cancel));        model->removeRows(0, model->rowCount());        int nFrom = txtFrom->text().toInt();        int nTo = txtTo->text().toInt();        thread = new QThread();        worker = new Worker(nFrom, nTo);        worker->moveToThread(thread);        workerThread();        thread->start();    }else{        worker->exit();        btnSearch->setText(QString(ConstStrings::search));    }}
开发者ID:jetedonner,项目名称:ch.kimhauser.qt.AmicableNumbers,代码行数:18,


示例20: MessagePortChannelArray

void WebWorkerImpl::postMessageToWorkerContext(const WebString& message,                                               const WebMessagePortChannelArray& webChannels){    OwnPtr<MessagePortChannelArray> channels;    if (webChannels.size()) {        channels = new MessagePortChannelArray(webChannels.size());        for (size_t i = 0; i < webChannels.size(); ++i) {            RefPtr<PlatformMessagePortChannel> platform_channel =                PlatformMessagePortChannel::create(webChannels[i]);            webChannels[i]->setClient(platform_channel.get());            (*channels)[i] = MessagePortChannel::create(platform_channel);        }    }    workerThread()->runLoop().postTask(        createCallbackTask(&postMessageToWorkerContextTask,                           this, String(message), channels.release()));}
开发者ID:flwh,项目名称:Alcatel_OT_985_kernel,代码行数:18,


示例21: TEST

TEST(WorkerThread_Test1, JustRun){	int a[5] = {11, 22, 33, 44, 55};	int b[5];	int size = _countof(a);	std::copy(&a[0], &a[_countof(a)], b);	TestWorker testWorker;	testWorker.Run();	Worker worker;	//WorkerThread<Worker, std::tr1::shared_ptr<Task> > workerThread(&worker, &Worker::RunMethod);	WorkerThread<Worker, Task > workerThread(&worker, &Worker::RunMemberMethod);	workerThread.Start();	//WorkerThread<Worker, Task > workerThread(&Worker::RunStaticMethod);	int numberOfTasks = 5;	for(int i = 0; i < numberOfTasks; ++i)	{		Task task(i);		//std::tr1::shared_ptr<Task> task(new Task(i));		workerThread.Enqueue(task);		//Sleep(1000);	}		//Sleep(3000);	workerThread.Stop();	workerThread.Stop();	//workerThread.TerminateGracefully();	workerThread.Join();	/*DWORD result = workerThread.Join(4000);	if(WAIT_OBJECT_0 != result)		workerThread.Terminate();*/	//ASSERT_TRUE(worker.counter == numberOfTasks);	EXPECT_EQ(worker.counter, numberOfTasks);}
开发者ID:Petrik7,项目名称:Prototypes,代码行数:41,


示例22: QWidget

RC_Widget::RC_Widget(bool block_Y,                     int max_up_down, int min_up_down,                     int max_left_right, int min_left_right,                     int rev_up_down, int rev_left_right,                     QWidget *parent) :    QWidget(parent){    if (pthread_mutex_init(&mutex, NULL) != 0){        std::cout << "mutex init failed" << std::endl;    }    QPalette pal_background;    pal_background.setColor(QPalette::Background, Qt::black);    setAutoFillBackground(true);    setPalette(pal_background);    setMaximumSize(500, 500);    setMinimumSize(500, 500);    press = false;    automatic = false;    this->block_Y = block_Y;    boost::thread workerThread(&RC_Widget::run, this);    connect(this, SIGNAL(update_GUI()), this, SLOT(on_update_GUI_recieved()));    p_actual.setX(250);    if(block_Y)        p_actual.setY(495);    else        p_actual.setY(250);    this->min_value_up_down = min_up_down;    this->max_value_up_down = max_up_down;    this->min_value_left_right = min_left_right;    this->max_value_left_right = max_left_right;    this->rev_left_right = rev_left_right;    this->rev_up_down = rev_up_down;}
开发者ID:kenkiki94305,项目名称:alpha_autopilot,代码行数:41,


示例23: main

int main(int argc, char **argv){  #ifdef POINT_CLOUD  update = false;  boost::thread workerThread(visualize);  #endif  ros::init(argc, argv, "pfilterTest");  ros::NodeHandle n;  // ros::Publisher pub = n.advertise<geometry_msgs::PoseArray>("/particles_from_filter", 5);  ROS_INFO("Testing particle filter");    particleFilter::cspace b_Xprior[2];	  computeInitialDistribution(b_Xprior, n);  PFilterTest pFilterTest(NUM_PARTICLES, b_Xprior);    ros::spin();  #ifdef POINT_CLOUD  workerThread.interrupt();  workerThread.join();  #endif}
开发者ID:bsaund,项目名称:Contact_Localization,代码行数:22,


示例24: workerThread

void WebSharedWorkerImpl::connect(WebMessagePortChannel* webChannel){    workerThread()->postTask(        BLINK_FROM_HERE, createCrossThreadTask(&connectTask, adoptPtr(webChannel)));}
开发者ID:howardroark2018,项目名称:chromium,代码行数:5,



注:本文中的workerThread函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ worksheet_write_number函数代码示例
C++ worker函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。