Linuxtrent: Re: Thread, che linguaggio?

  • From: Lele Gaifax <lele@xxxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Tue, 8 May 2001 14:09:47 +0200

>>>>> On Tue, 8 May 2001 12:44:40 +0000, Mauro Colorio <linuxbox@xxxxxxxxxxxx> 
>>>>> said:

    MC> avevo pensato a java e al supporto multithread, c'e' qualcosa
    MC> di piu' semplice con qui implementarlo? tenendo conto che
    MC> dovrei appiccicarci sopra anche una GUI:)

Scontatamente propenderei per Python:
a) è qualcosa di MOLTO più semplice di Java
b) è interscambiabile con Java (esiste una implementazione Java di
Python, che produce bytecode per la JVM)
c) ha supporto thread per tutte le piattaforme dove questo sia
possibile...

Questo programmino lancia 5 thread, ognuno che conta da 0 a N-1,
scrivendo un msg ed aspettando 0.5 secondi ogni giro.

    import thread

    Nlock = thread.allocate_lock()
    done = thread.allocate_lock()
    N = 5

    def ciao(x):
        print "Ciao dal thread %d, arrivato a contare fino a %d" % x

    def task(v):
        import time
        global N

        for i in range(v):
            ciao ((v,i))
            time.sleep (0.5)
        # end for

        Nlock.acquire()
        N = N - 1
        if N == 0:
            done.release()
        # end if
        Nlock.release()
    # end def

    done.acquire()
    for i in range(N):
        thread.start_new_thread(task, (i,))
    # Aspetta che finiscano
    done.acquire()

Che emette questo

Ciao dal thread 1, arrivato a contare fino a 0
Ciao dal thread 3, arrivato a contare fino a 0
Ciao dal thread 2, arrivato a contare fino a 0
Ciao dal thread 4, arrivato a contare fino a 0
Ciao dal thread 2, arrivato a contare fino a 1
Ciao dal thread 3, arrivato a contare fino a 1
Ciao dal thread 4, arrivato a contare fino a 1
Ciao dal thread 3, arrivato a contare fino a 2
Ciao dal thread 4, arrivato a contare fino a 2
Ciao dal thread 4, arrivato a contare fino a 3

ciao anche da me :)
lele.
-- 
nickname: Lele Gaifax   | Quando vivro' di quello che ho pensato ieri
real: Emanuele Gaifas   | comincero' ad aver paura di chi mi copia.
email: lele@xxxxxxxxxx  |               -- Fortunato Depero, 1929.

-- 
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con SOGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxxxxxx


Other related posts: