Alexandru
10-23-2002, 06:28 PM
Daca vrea cineva sa discute despre java (si oop-ul din java) cu mine as fi bucuros
(sa facem un exchange de pareri/experienta)
Numai ca va rog:
Vinatorii la 'post'-uri pe degeaba si
amaritii de 'HELP ME' cu trei semne de exclamare - get off.
Daca eshti specialist in Java -> lamureshte-ma, cam de ce comanda de stopare a firelor de executie suspend() este considerata ineficienta, dar este promovata wait() ?! Pentru mine este mult mai simplu sa utilizez prima, dar in versiunea a 4 ea deacu mai ca este eliminata -> la compilare apar numai warninguri :crazy:
Alexandru
10-25-2002, 09:43 AM
Daca esti pasionat de java si te intereseaza intr-adevar de ce suspend, resume si stop
sunt catalogate drept 'deprecated', ar trebui sa ai o conceptie formata si argumentata cit de
cit despre acest lucru, pe care eu as vrea s-o aud, inainte de a-ti spune parerea mea...
Vrei o formulare detaliata a intrebarii, sau sa raspund in locul tau?
Alexandru
10-31-2002, 02:34 PM
Eu am zis destul de clar ce vreu - sa discut.
:)) ok -> propune o tema care te intereseaza
:D ok -> ce spunetsi despre crearea aplicatsiilor client server in java ? -> daca e sa le comparam cu cele din C, sau CPP, este mai comod de creat in Java.....
Alexandru
11-04-2002, 11:41 AM
RG, uite ce cred eu despre suspend (chiar daca
n-ai vrut sa ne spui si parerea ta)
Sa luam un exemplu
======================================
public class Data {
private int data, counter;
public synchronized void updateData(int value) {
data += value;
counter++;
}
public synchronized int getData() {
return data;
}
public synchronized int getCount() {
return counter;
}
}
=======================================
avem asa un scenariu - o instanta de Data si 2 fire de executie
(care lucreaza cu aceasta instanta)
1 fir - face updateData in momentele in care considera ca este necesar.
2 fir - apeleaza getData si getCount atunci cind are nevoie de asta.
Acuma sa zicem ca firul 1 a fost suspendat atunci cind executa metoda
updateData, mai precis a dovedit sa execute doar prima instructiune
'data += value'. lock-ul de pe instanta se elibereaza si firul 1 se pune in starea
wait. Intre timp, firul 2 citeste valorile membrilor counter si data si, desi nu
stie (dar noi stim!) a citit date gresite, inconsistente, pentru ca valoarea lui
counter ar trebui sa fie cu o unitate mai mare in mod normal.
De asta cred ca se considera suspend 'deprecated' - pentru ca, in general
asta poate duce la lasarea unui obiect intr-o stare inconsistenta (care contrazice
logicii business pe care o implementeaza).
Dar, daca stii ce face thread-ul tau (ce cod executa) si nu vezi pericolul asta
poti sa folosesti suspend-ul linistit.
Alexandru
11-04-2002, 12:00 PM
Nu stiu daca este mai comod de scris aplicatii de retea in java. Si apoi
eu nu sunt sigur ca am inteles corect ce inseamna comod in contextul ista...
(mai rapid, mai 'error free'? )
Asta depinde de gust (in ce programezi) si cred ca un developer c/c++ bun
nu este mai putin productiv decit unul java, daca ar fi sa implementeze
ambii un client/server.
c-ul i-ti da posibilitati mai mari atunci cind e vorba de lucru cu reteaua -
cel mai mare dezavantaj mi se pare ca java nu are suport pentru 'raw sockets'
(desi am auzit ca in jdk 1.4 ar fi aparut acest lucru...)