1. 程式人生 > >使用boost執行緒池很好的例子

使用boost執行緒池很好的例子

#include <boost/thread/thread.hpp>
#include <boost/bind.hpp>
#include <iostream>

using namespace boost;
using namespace std;

void runChild(const int n)
{
    cout << "我是第" << n << "個子執行緒" << endl;
    sleep(1);
    cout << "程序" << n <<  "退出" <<

endl;
}

int main( )
{
    int num;
    thread_group threads;

  cout << "請提供一個要生成執行緒數的引數" << endl;

  cin>> num;
  cout << "我是主程式,我準備產生" << num << "個子執行緒" << endl;
    for(int i = 0; i < num; i++)
    {
        threads.create_thread(bind(&runChild, this,ref(i))

);
    }
    cout << "我是主程式,我在等子執行緒執行結束" << endl;
    threads.join_all();
    return 0;
}

相關推薦

使用boost執行例子

#include <boost/thread/thread.hpp>#include <boost/bind.hpp>#include <iostream> using namespace boost;using namespace std; void runChild(c

執行深度文(轉載)

轉自:https://www.cnblogs.com/baizhanshi/p/5469948.html 1、new Thread的弊端 執行一個非同步任務你還只是如下new Thread嗎? Java

執行ThreadPoolExecutor配置、引數詳解及例子

     對於執行緒池,我僅限於簡單的使用,對其原理和引數並不是很理解。以前只是在網上找個執行緒池的例子,然後模仿寫一下而已,最近專案中又再次用的執行緒池,做了一些研究,現記錄下,以備以後使用。     我以前利用執行緒池只會這樣用:

執行的好處,詳解,單例(絕對記)

一、執行緒池的好處 執行緒池是啥子,幹啥使它呀,老子執行緒使得好好的,非得多次一舉,哈哈,想必來這裡看這篇文章的都對執行緒池有點了解。那麼我來整理整理執行緒池的好處吧。 1、執行緒池的重用 執行緒的建立和銷燬的開銷是巨大的,而通過執行緒池的重用大大減少了這些不必要的

如何紳士的使用執行

前言 平時接觸過多執行緒開發的童鞋應該都或多或少了解過執行緒池,之前釋出的《阿里巴巴 Java 手冊》裡也有一條: 可見執行緒池的重要性。 簡單來說使用執行緒池有以下幾個目的: 執行緒是稀缺資源,不能頻繁的建立。 解耦作用;執行緒的創建於執行完全分開,方便維護。 應當將其放入一個池

Java ExecutorService四種執行例子與說明

1、new Thread的弊端 執行一個非同步任務你還只是如下new Thread嗎 new Thread(new Runnable() { @Override public void run() { // TODO Auto-gen

執行用法的一個例子

  寫這個是因為有一個場景會用到,通過角色獲取相應的使用者資訊列表,這裡的使用者是呼叫別人介面獲取的,而介面提供方卻沒有給出通過使用者列表獲取相應的使用者資訊,這裡只好一個一個的取出來,就是說多次呼叫介面獲取使用者資訊。然後就想到了用執行緒池看可不可行,現在給出相應的虛擬碼:

boost執行使用例項

#pragma once #ifndef THREAD_POOL_H #define THREAD_POOL_H #include "boost_comm.h" using namespace

IO型任務,執行越大越?

網傳  "CPU密集型任務,執行緒池size應為CPU數+1; IO密集型任務,執行緒池size應為CPU數/(1-阻塞係數)". 並且,類似的話也出現在<實戰Java高併發程式設計> 這本書裡. 但是,今天正好做到一個類似的東西,於是乎就測試了一下,很奇怪,結

java 執行簡單例子

package com.hra.riskprice; import com.hra.riskprice.SysEnum.Factor_Type; import com.hra.riskprice.pojo.RskFactor; import com.hra.riskprice.service.impl

由Java執行例子到Tomcat執行

執行緒池的作用:   執行緒池作用就是限制系統中執行執行緒的數量。   根據系統的環境情況,可以自動或手動設定執行緒數量,達到執行的最佳效果;少了浪費了系統資源,多了造成系統擁擠效率不高。用執行緒池控制執行緒數量,其他執行緒排隊等候。一個任務執行完畢,再從佇列的中取最前面的

boost::threadpool執行使用例項

#include "stdafx.h" #include <iostream> #include <boost/bind.hpp> #include <boost/threadpool.hpp> using namespace std; using name

java -- 執行例子ExecutorService

package com.threadPool; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.con

Java執行例子

/**  *   */ package iotest.serversocket;   im

執行其實看懂了也簡單

# 理論知識 週末上海下起了雨也降溫了,無事開啟電腦看看原始碼,就想到了執行緒池。執行緒池的技術網路上已經有很多文章都已經寫過了,而且理論都是一樣的。 但是理論歸理論,面試的時候也許你剛好看了一篇能應付過去,但是如果深究細節可能就會懵逼。所以我很建議任何理論我們都需要自己去探究一下才好,自己實踐過的才有自

用了多年Dubbo,連Dubbo執行監控都不知道,覺得自己厲害?

## 前言 micrometer中自帶了很多其他框架的指標資訊,可以很方便的通過prometheus進行採集和監控,常用的有JVM的資訊,Http請求的資訊,Tomcat執行緒的資訊等。 對於一些比較活躍的框架,有些還是不支援的,比如Dubbo。如果想監控Dubbo的一些指標,比如執行緒池的狀況,我們需要

執行Executors.newFixedThreadPool驗證以及總結

1、Executors在於java.util.comcurrent.包下,Executors.newFixedThreadPool(n)建立容器大小為n的執行緒池,表示正在執行中的執行緒只有n個, 實踐程式碼如下: public class TestExecute { public

一文帶你吃透執行

微信公眾號:[Amos部落格] 內容目錄 TreadPoolexecutor原始碼解析 類關係圖 Executor介面 ExecutorService介面 AbstractExecutorService 成員變數

Java之執行原始碼深入理解

在前面的文章中,我們使用執行緒的時候就去建立一個執行緒,這樣實現起來非常簡便,但是就會有一個問題: 如果併發的執行緒數量很多,並且每個執行緒都是執行一個時間很短的任務就結束了,這樣頻繁建立執行緒就會大大降低系統的效率,因為頻繁建立執行緒和銷燬執行

Golang 執行

經常會用到協程,但是不能一下開那麼多協調,只需要 poolSize 個即可,多了不行。這些個協程在執行完後必須等其完成之後才能進行下一步動作。假定工作方法為 work 。   package main import ( "fmt" "runtime" "