Post con tag thread

I metodi synchronized in Java

I metodi synchronized sono utilizzati per fornire un meccanismo di sincronizzazione riguardante i metodi.
La definizione di un metodo sincronizzato avviene utilizzando la parola chiave synchronized nella sua dichiarazione:

public static class Sync
{
	public synchronized void f()
	{
		System.out.println("Sync.f()");
	}
}

Continua >

Echo Server multithreaded in Java

Il codice seguente implementa un Echo Server multithreaded in Java.
Nel main, il server viene creato e si mette in attesa di connessioni.
Ogni volta che giunge una nuova connessione, viene creato un oggetto EchoThread, che implementa l’interfaccia Runnable, il quale gestisce la connessione con il client.
La comunicazione tra il thread e il client termina nel momento in cui il client si disconnette o invia la stringa quit.

Continua >

Multithreading in C#

Il .NET framework permette di sviluppare applicazioni multithreading utilizzando le classi incluse nel namespace System.Threading.
Più precisamente, un thread è modellato come un oggetto di classe Thread.

In seguito, istanzieremo un oggetto Thread utilizzando il costruttore:

public Thread( ThreadStart start )

dove ThreadStart rappresenta il metodo da far eseguire al thread.

Continua >

Programmazione multithread in C nei sistemi Unix

Lo standard POSIX ha introdotto, nel 1995, delle API per la manipolazione dei thread nei sistemi UNIX.

L’header da includere per utilizzare i thread POSIX è pthread.h e la libreria da linkare è pthread.

Continua >

Introduzione ai thread in Java

In Java, ogni thread è implementato come un oggetto di classe Thread.
Ogni thread ha bisogno di specificare il codice che verrà eseguito durante il suo ciclo di vita.
Ciò va fatto creando una classe che implementi l’interfaccia Runnable:

Continua >

Qt e C++: thread e mutex

La libreria Qt ha a disposizione diverse classi per sviluppare applicazioni multithread.
Questo articolo mostra come creare due thread e sincronizzarli utilizzando l’accesso mutuamente esclusivo tramite mutex.
Continua >

Comunicazione tra thread in Python con gli oggetti Event

Gli oggetti threading.Event sono utilizzati per la comunicazione tra thread. Un thread si mette in attesa di un segnale mentre un altro thread lo emette.
Sostanzialmente, un oggetto Event gestisce un flag interno che può essere impostato a falso con clear(), impostato a vero con set() e testato con is_set.
Un thread si può mettere in attesa di un segnale mediante la chiamata al metodo wait([timeout]). L’attesa termina alla chiamata del metodo set()
Continua >

Sincronizzazione, problema del produttore/consumatore in Python con oggetti Condition

Il problema del produttore e del consumatore è un significativo esempio di sincronizzazione di processi o thread.
Il produttore ha il compito di scrivere in un buffer fintanto che questo non risulti pieno e il consumatore prende i dati dal buffer (eliminandoli da quest’ultimo) fintanto che il buffer è pieno.
Il produttore segnalerà al consumatore che il buffer è non vuoto mentre il consumatore segnalerà al produttore che il buffer è non pieno.
Continua >

Implementazione di un server con thread in Python

La logica del server implementato qui di seguito è semplice: ogni volta che arriva una connessione in entrata, lancia un nuovo thread per gestirla cosicchè la parte principale del programma può rimanere in ascolto di nuove connessioni entranti:
Continua >