Documente Academic
Documente Profesional
Documente Cultură
Grupa 235
Cerinta:
Problema Implementati o clasa “SortedLinkedList” – lista inlantuita sortata cu elemente de tip real,
astfel incat sa fie “thread-safe”. Operatiile furnizate de clasa sunt: - insert(a: Real) o pre:
this=[a(0),…,a(n)] a.i. pentru orice i: 0<i a(i-1) <=a(i)<=a(i+1) o post: a este adaugat in lista pe pozitia
corespunzatoare: this=[a(0), …a(i), a, a(i+1)…,a(n)] a.i. a(i) <=a<=a(i+1) - delete(a: Real) o pre : exista pos
o pozitie valida in lista a.i. lista(pos)= a o post: elementul a este sters din lista - getIterator():Iterator o
pre : lista valida o post: result = it , it in Iterator pe lista
Clase:
Exemplu:
Thread tDelete = new Thread(() -> {
synchronized (sortedLinkedList) {
for (int i = 2; i < 9; i++) {
sortedLinkedList.delete((float) i);
writer.println("Delete : " + i + " ThreadNo: " +
Thread.currentThread().getId() + " Time : " + LocalDateTime.now());
}
}
});
tDelete.start();
Timpi: 176.0,164.0,142.0,141.0,170.0,1667.0
Timp1: 250.0
Timp2: 162.0
Timp3: 149.0
Timp4: 158.0
Timp5: 168.0
Timp6: 177.0
Timp7: 188.0
Timp8: 177.0
Timp9: 184.0