future sınıfını geriye döndüren fonksiyonlara ve bu fonksiyonları barındıran programlamalara genel olarak verilen addır. jenerik bir değer alan bu sınıfta eğer ki bir değeri döndürmek isterseniz mutlaka onu future sınıfına bildirmeniz gerekmektedir. bu da size bir callback işlev sunar.

basitçe;

#include <iostream>
#include <future>
#include <thread>
#include <functional>

using std::cout;

int main()
{

std::packaged_task<int()> task([]{ return 1; });
std::future<int> a = task.get_future();
std::thread t(std::move(task));

std::future<int> b = std::async(std::launch::async, []{ return 2; });

std::promise<int> p;
std::future<int> c = p.get_future();
std::thread( [&p]{ p.set_value_at_thread_exit(3); }).detach();

a.wait();
b.wait();
c.wait();

cout << "values: "
<< a.get() << ' ' << b.get() << ' ' << c.get() << '\n';
t.join();

return 0;
}

son bir açıklama yaparak konuyu daha da açıklama gereği duydum, std::future readerken std::promise ise writer durumundadır yani bir thread hem okuma hem yazma yapamıyor ki böylece nesnelerin sürdürülebilitesi garantileniyor.

umuyorum ki mantık anlaşıldı. bu çok önemli bir konu olmakla birlikte vazgeçilmez uygulamaların ve her uygulamanın/programın temelini oluşturmaktadır.
devamını gör...

bu başlığa tanım girmek için olabilirsiniz.

zaten üye iseniz giriş yapabilirsiniz.

"asenkron programlama" ile benzer başlıklar

normal sözlük'ü kullanarak 3. parti dahil tarayıcı çerezlerinin kullanımına izin vermektesiniz. Daha detaylı bilgi için çerez ve gizlilik politikamıza bakabilirsiniz.

online yazar listesini görmek için lütfen giriş yapın.
zaman tüneli köftehor rehberi portakal normal radyo kütüphane kulüpler renk modu online yazarlar puan tablosu yönetim kadrosu istatistikler iletişim