Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Vand Proiect AI cu ChatGPT 4(Gene...

E-Mail in serie prin Excel si Out...

Modul alimentare rulou/jaluzea ex...

Recuperare fișiere dupa form...
 Aplicatii stress test RAM

Asigurare auto hibrid

Asus B550M - PC-ul nu porneste di...

Tzanca Uraganu - Inconjurat de Fe...
 explicatie montaj breadboard

3 Doors Down - Kryptonite

Semnalizati cand virati pe un dru...

Succesiune - mostenire apartament...
 Donez Siofor de 1000mg ( diabet t...

Izolatie intre parter si etaj

Hranirea pasarilor din orase -pro...

[unde] goarna tramvai
 

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

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

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