C++ ?????????????
???????????? ???????[ 2012/11/28 10:29:26 ] ????????
????????????????
????????????????????????????????? Theron ?????????????????????????????????????????????????????????? Theron ??ν?????????
#include <stdio.h>
#include <Theron/Framework.h>
#include <Theron/Actor.h>
const int PRODUCE_NUM = 5;
class Producer : public Theron::Actor
{
public:
inline Producer(): m_item(0)
{
RegisterHandler(this?? &Producer::Produce);
}
private:
// ?????????????
inline void Produce(const int& /* message */?? const Theron::Address from)
{
int count(PRODUCE_NUM);
while (count--)
{
// ???????????????
#ifdef _MSC_VER
Sleep(1000);
#else
sleep(1);
#endif
printf("Produce item %d
"?? m_item);
if (!Send(m_item?? from))
printf("Failed to send message!
");
++m_item;
}
}
// ???????????????
int m_item;
};
class Consumer : public Theron::Actor
{
public:
inline Consumer(): m_consumeNum(PRODUCE_NUM)
{
RegisterHandler(this?? &Consumer::Consume);
}
private:
inline void Consume(const int& item?? const Theron::Address from)
{
// ??????????????
#ifdef _MSC_VER
Sleep(2000);
#else
sleep(2);
#endif
printf("Consume item %d
"?? item);
--m_consumeNum;
// ???????????????????????????????
if (m_consumeNum == 0)
{
if (!Send(0?? from))
printf("Failed to send message!
");
m_consumeNum = PRODUCE_NUM;
}
}
int m_consumeNum;
};
int main()
{
Theron::Framework framework;
Theron::ActorRef producer(framework.CreateActor<Producer>());
Theron::ActorRef consumer(framework.CreateActor<Consumer>());
if (!framework.Send(0?? consumer.GetAddress()?? producer.GetAddress()))
printf("Failed to send message!
");
// ??????? Sleep ??????????????
// ?????????????????????????
// ???????д?У??????????? Receiver
#ifdef _MSC_VER
Sleep(100000);
#else
sleep(100);
#endif
return 0;
}
????????????????????????????????????????н??У???????б?д?????????????й?????????棬???д????????????????ж??????????????
????????????
???????????????????? Theron ?в?????????????? Actor???????????????????У??????迪????????Actor ???????????????????????????????????ζ???????????????????? Actor ???в??????????????????????????????????????
????Actor ??????????н?? Actor????????????????????? Theron ??????????????? Actor ?????????? Actor ??????????????????? Actor ?????? Object ???????????????????????磬??????????????????????????Щ??????????????飬?????????? Actor?????????????? Object ??????????? Actor ????????????????
????Theron ??δ??
????Theron ???????????????????????ù????????????? Actor ???????? Actor ????????????????????????????á????????????????? Theron ????????????????????????? Theron ???????????Щδ?????????????Щ????????????????????????????? Theron ?????????Щ???????? Theron ??????????????????????????Щ?????????磬??????????????? Remote Actors???????? Theron δ????Σ?Theron ??? Actor ???????????????????????????????????
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11