SORU
5 Kasım 2008, ÇARŞAMBA


Bir iş parçacığı basit örnek C

Birisi C itibaren iki (Nesne Yönelimli) konuları basit bir örnek gönderebilir .

C-stil parçacığı kitaplığı bir arama karşı çalışma yöntemleri uzatmak yani gerçek C iplik nesneleri arıyorum (ya da benzeri).

Teşekkürler.

Güncelleme - cevap kim çapraz platform kütüphaneler ile birlikte kullanmak için bir cevap olabileceğini söyledim umuduyla herhangi bir işletim sistemi özel istekleri bıraktım. Sadece açık yapıyorum şimdi.

CEVAP
27 HAZİRAN 2012, ÇARŞAMBA


İplik kontrol etmek için bir işlev oluşturun. Önemsiz bir örnek ile göstereyim:

void task1(std::string msg)
{
    std::cout << "task1 says: " << msg;
}

Şimdi sonuçta gibi, yani yukarıdaki fonksiyonu çağırmak olacaktır thread nesne oluşturun:

std::thread t1(task1, "Hello");

(7* *std::thread sınıf erişmek için gerekir)

Gördüğünüz gibi, kurucu argümanlarını iş parçacığı yürütme, işlev parametrelerini takip edecek işlevi vardır.

Nihayet, yürütme ana konu gibi, bu yüzden katılmak:

t1.join(); 

(Katılan yeni iplik dem vuran konu kendi yürütme) devam edecek önce yeni iş yürütme bitirmek için bekleyin anlamına gelir.


Kod

#include <string>
#include <iostream>
#include <thread>

using namespace std;

//The function we want to make the thread run.
void task1(string msg)
{
    cout << "task1 says: " << msg;
}

int main()
{
    // Constructs the new thread and runs it. Does not block execution.
    thread t1(task1, "Hello");

    //Makes the main thread wait for the new thread to finish execution, therefore blocks its own execution.
    t1.join();
}

More information about std::thread here

  • GCC, -std=c 0x -pthread ile derleyin.
  • Bu derleyici bu (C 11) özelliğini destekler verilmiş herhangi bir işletim sistemi için çalışmalı.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DancingIsAPassion

    DancingIsAPa

    29 AĞUSTOS 2009
  • Glyn Dewis

    Glyn Dewis

    25 AĞUSTOS 2007
  • JonnyEthco

    JonnyEthco

    5 EKİM 2006