SObjectizer-5.6.0: bagong pangunahing bersyon ng balangkas ng aktor para sa C++

SObjectizer ay isang medyo maliit na balangkas para sa pagpapasimple ng pagbuo ng mga kumplikadong multi-threaded na application sa C++. Pinapayagan ng SObjectizer ang developer na bumuo ng kanilang mga programa batay sa asynchronous na pagmemensahe gamit ang mga diskarte gaya ng Actor Model, Publish-Subscribe at CSP. Ito ay isang proyekto ng OpenSource sa ilalim ng lisensya ng BSD-3-CLAUSE. Ang isang maikling impression ng SObjectizer ay maaaring mabuo batay sa pagtatanghal na ito.

Ang Bersyon 5.6.0 ay ang unang pangunahing paglabas ng bagong sangay ng SObjectizer-5.6. Na nangangahulugan din ng pagkumpleto ng pagbuo ng sangay ng SObjectizer-5.5, na umuunlad nang higit sa apat na taon.

Dahil ang bersyon 5.6.0 ay nagbubukas ng bagong kabanata sa pagbuo ng SObjectizer, walang mga inobasyon kung ihahambing sa kung ano ang binago at/o inalis mula sa SObjectizer. Sa partikular:

  • Ginagamit ang C++17 (dati ay ginamit ang isang subset ng C++11);
  • ang proyekto ay lumipat at nabubuhay na ngayon BitBucket na may opisyal, hindi eksperimental, salamin sa GitHub;
  • wala nang mga string name ang mga pakikipagtulungan ng ahente;
  • Ang suporta para sa magkakasabay na pakikipag-ugnayan sa pagitan ng mga ahente ay inalis mula sa SObjectizer (ang analogue nito ay ipinatupad sa kasamang proyekto kaya5dagdag);
  • ang suporta para sa mga ahente ng ad-hoc ay inalis;
  • para magpadala ng mga mensahe, tanging ang mga libreng function na magpadala, send_delayed, send_periodic ang ginagamit na ngayon (ang mga lumang pamamaraan na deliver_message, schedule_timer, single_timer ay inalis na sa pampublikong API);
  • ang mga function na send_delayed at send_periodic ay mayroon na ngayong parehong format anuman ang uri ng tatanggap ng mensahe (maging ito ay mbox, mchain o isang link sa isang ahente);
  • idinagdag ang klase ng message_holder_t upang gawing simple ang pagtatrabaho sa mga paunang inilaan na mensahe;
  • inalis ang maraming bagay na minarkahan bilang hindi na ginagamit pabalik sa branch 5.5;
  • Well, at lahat ng uri ng iba pang mga bagay.

Ang isang mas detalyadong listahan ng mga pagbabago ay matatagpuan dito. Doon, sa proyektong Wiki, mahahanap mo dokumentasyon para sa bersyon 5.6.


Ang mga archive na may bagong bersyon ng SObjectizer ay maaaring ma-download mula sa BitBucket o sa SourceForge.


PS. Lalo na para sa mga nag-aalinlangan na naniniwala na ang SObjectizer ay hindi kailangan ng sinuman at hindi ginagamit ng sinuman. Ito hindi sa ganitong paraan.

Pinagmulan: linux.org.ru

Magdagdag ng komento