Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Adaptor usb3.1gigabit vs Adaptor ...

La multi ani @Atreides!

La multi ani @KENSINGTON!

La multi ani @burebista!
 La multi ani de Florii!

Stihl fs 70 c-e

Challengers (2024)

Care mai sunt mediile de admitere...
 Laptop cu HDD atasare memorie MMC...

Hartile google nu mai au chenarul...

Tomate in ghiveci la curte?

Idei cale de actiune recuperare g...
 Intoleranța lactoza- vegan v...

Tobe acustice insonorizare in blo...

Cine canta? Fragment din melodie...

Tablou sigurante Dacia Sandero 2012
 

Batalia async in limbaje compilate

- - - - -
  • Please log in to reply
24 replies to this topic

#19
coniac

coniac

    Member

  • Grup: Members
  • Posts: 497
  • Înscris: 17.12.2019
Nu vrei sa intelegi
Asyncio din Python face "multithreading" pe un singur thread, numai ca "threadurile" astea se numes task-uri
Si nu o sa crezi, e mai performat decat modulul threading, care foloseste threaduri adevarate, probabil si din cauza GIL

Cam asa arata un cod cu asyncio

https://ibb.co/FHtfqCj


Intre timp expresia "yield from" din respectivul cod a fost inlocuita de await , cred ca in Python 3.5 sau 3.6

#20
bostanu_4u

bostanu_4u

    Junior Member

  • Grup: Junior Members
  • Posts: 213
  • Înscris: 30.12.2020
asyncio.sleep din Python este sau nu asincron?
Dar sleep din PHP ?

#21
coniac

coniac

    Member

  • Grup: Members
  • Posts: 497
  • Înscris: 17.12.2019
asyncio.sleep este un wrapper al functiei normale sleep
Cum am zis, au facut un event loop propriu
La fel se poate face in PHP

Da este async

https://ibb.co/MPFnqry

#22
bostanu_4u

bostanu_4u

    Junior Member

  • Grup: Junior Members
  • Posts: 213
  • Înscris: 30.12.2020
Este o diferenta mare intre "se poate face" si "exista deja implementat in limbaj"
Pe sistemul se poate face, orice limbaj permite async.

In limbajele care nu suporta nativ async, nu lipsa event loop-ului nativ e problema, ci lipsa unor set de functii uzuale asincrone.
Event loop faci in orice limbaj. Await, cum ai zis si tu il ai prin yield, care e doar o sintaxa convenabila, pentru ca la fel de bine poti implementa await-ul prin functii callback. Dar functiile async unde-s?
Stii cum ar arata un wrapper async pentru sleep in php?
Un script cu sleep(), executat separat prin exec din script-ul principal, adica un proces php separat. Nu e deloc tot una cu sleep async nativ. Este ineficient si te lovesti de multe limitari

#23
coniac

coniac

    Member

  • Grup: Members
  • Posts: 497
  • Înscris: 17.12.2019
Ti-am indicat proiecte php async Sunt pe bune
Asyncio are la baza 2 chestii: generatoare si non-blocking IO
Pe care la ai si in PHP
Ergo, se poate face si in PHP

https://stackoverflo...mented/52026721

#24
coniac

coniac

    Member

  • Grup: Members
  • Posts: 497
  • Înscris: 17.12.2019
Cu asta poti implementa event loop

https://www.php.net/...ream-select.php

"although if you need to be checking and running other code concurrently"
Cauta exemple in cod C linux ca sa intelegi

Dar ai
https://www.php.net/...ok.parallel.php

De exemplu
Mai sunt si libevent, pthreads , pht

Se poate si in PHP

#25
bostanu_4u

bostanu_4u

    Junior Member

  • Grup: Junior Members
  • Posts: 213
  • Înscris: 30.12.2020
Eu ma retrag din discutia asta ca am senzatia ca vorbesc cu peretii.
Am luat azi un camion de lemne. Ce zici, se poate sa le tai cu fierastraul ?
Nu vrei sa intelegi distinctia dintre suport nativ si "merge si asa" cu dezavantajele aferente, care le vezi si in documentatia PHP plina de "warning" si "caution"

Anunturi

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate