用actor model实现intel tbb这样的用法

关于什么事actor model,什么事intel tbb这样的用法我就不详细说了,具体请上网查文档

class MyActor
{
	F f;
	MyActor inputs[];
	MyActor outputs[];
	int n;

	#internal
	void run()
	{
		f();
		for o in outputs:
			sendMsg(o, this)
	}

	##1
	void addOutput(o)
	{
		outputs.append(o);
	}

	##2
	void onFirstRun()
	{
		if inputs.empoty()
			run()
	}

	##3
	void onMsg(id)
	{
		n++;
		if(n==inputs.size())
			run()

	}
}

def task(g, f, dependencies)
{
	a= MyActor(f, dependencies);

	// Tell dependencies add this actor to trigger list
	for depend in dependencies:
		depend.addOutput(a)

	return a
}

t1 = task([](){hello});
t2 = task([](){world}, t1);
g.run()

  

时间: 2024-11-05 21:51:39

用actor model实现intel tbb这样的用法的相关文章

C++多线程开发之actor model

最近想把写过的一个多线程程序整理一下,这个程序主要特点是有一系列的互相之间有依赖关系的task.于是在网上找相关类库 1,一类是简单的线程池了,这也是原本俺的做法.之前使用的是手工调度,代码实现的很蛋疼.外面的lib有poco https://pocoproject.org/slides/130-Threads.pdf2,Intel TBB, MS PPL (Parallel Patterns Library)之类的类库,感觉这里一类本质上和1没有大的分别3,微软的并行库1)MS PPL (Pa

Intel® Threading Building Blocks (Intel® TBB) Developer Guide 中文 Parallelizing Data Flow and Dependence Graphs并行化data flow和依赖图

https://www.threadingbuildingblocks.org/docs/help/index.htm Parallelizing Data Flow and Dependency Graphs In addition to loop parallelism, the Intel® Threading Building Blocks (Intel® TBB) library also supports graph parallelism. It's possible to cre

【转】Windows下使用VS2008编译OpenCV 2.1 添加Intel TBB和Python支持

Windows下使用VS2008编译OpenCV2.1 添加Intel TBB和Python支持 步骤: 1.仔细阅读OpenCV官网上的InstallGuide:http://opencv.willowgarage.com/wiki/InstallGuide 2.在"2) Install Prerequisite Libraries and Tools"中提到了如果想支持Python调用需要Python 2.6或者 2.7版本,而且还需要NumPy和SciPy库.升级Python至2

2014.8.12-AKKA和Actor model 分布式开发环境学习小结

学习使用AKKA 断断续续有一年了.目前还是习惯用java来写akka下面的程序.对于原生的scala还是没有时间和兴趣去学习它. 毕竟学习一门语言需要兴趣和时间的. AKKA学习资源还是不算丰富. 看过最多的就是官方的编程手册,还有就是AKKA Essentials 这两本.  自己动手写的程序还不算多,也放在github上面. 另外,在akka编译配置.升级版本上,以及部署多台服务器组建akka cluster 方面花费了不少时间.因为项目需要,上周重新在办公室用两台mac台式机和一台thi

c# 初识Actor Model

最近学了点 c# dataflow的一些东西,然后国外有个人,用dataflow来实现了,一个Actor模型: 这里做个比较,算是初识我们的actor模型,然后我们再进一步的深入了解一哈: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading.Tasks.Dataflow;

Actor Model

The actor model in computer science is a mathematical(数学的) model of concurrent computation(计算)  that treats "actors" as the universal primitives(通用原语) of concurrent computation: in response to a message that it receives, an actor can make local

CAF(C++ actor framework)使用随笔(projection 用法)(一)

最近干活在写毕设,用到了CAF,看了文档,发现了一些小坑,自己摸索写点随笔.(CAF的github网站 https://github.com/actor-framework/actor-framework)里面的example文件夹例子不错. 但是感觉其实实际使用还是会有很多没讲到. 概念的东西可以看http://www.wfuyu.com/mvc/21278.html 我学习就看着http://www.actor-framework.org/manual/看下去看着不太会的就写例子,第一个坑就

django model 条件过滤 queryset.filter(**condtions) 用法

1.下述代码查询model对应数据库中日期等于2018-05-22的数据: queryset = model.objects.all() condtions: {'date': '2018-05-22'} query_res = queryset.filter(**condtions) 2.下述代码查询model对应数据库中日期小于2018-05-22的数据: queryset = model.objects.all() condtions: {'date__lt': '2018-05-22'}

还是说Memory Model,gcc的__sync_synchronize真是太坑爹了

还是说Memory Model,gcc的__sync_synchronize真是太坑爹了! 时间 2012-01-29 03:18:35  IT牛人博客聚合网站 原文  http://www.udpwork.com/item/6751.html 主题 GCC 嗯,还是说可见性的问题.由于CPU和编译器的乱序执行功能,我们经常不得不在代码中手动插入memory barrier.如果你还不清楚memory barrier是什么,那么请先读这个 http://en.wikipedia.org/wiki