Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Lenovo LOQ 15i Gen 10 (15IRX10) alla prova: il notebook gaming 'budget' che non ti aspetti
Lenovo LOQ 15i Gen 10 (15IRX10) alla prova: il notebook gaming 'budget' che non ti aspetti
Il Lenovo LOQ 15i Gen 10 (15IRX10) offre prestazioni convincenti grazie al Core i7-13650HX e alla RTX 5060 Laptop a 100W, mantenendo un prezzo competitivo tra 1100 e 1300 euro. Costruzione solida, buon display e ampia espandibilità lo rendono una scelta equilibrata per chi cerca un notebook gaming accessibile ma moderno.
Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando
Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando
Abbiamo giocato a lungo a Battlefield 6, abbiamo provato tutte le modalità multiplayer, Redsec, e le numerose personalizzazioni. In sintesi, ci siamo concentrati su ogni aspetto del titolo per comprendere al meglio uno degli FPS più ambiziosi della storia dei videogiochi e, dopo quasi due mesi, abbiamo tirato le somme. In questo articolo, condividiamo con voi tutto ciò che è Battlefield 6, un gioco che, a nostro avviso, rappresenta esattamente ciò che questo genere attendeva da tempo
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Abbiamo messo alla prova il drone Antigravity A1 capace di riprese in 8K a 360° che permette un reframe in post-produzione ad eliche ferme. Il concetto è molto valido, permette al pilota di concentrarsi sul volo e le manovre in tutta sicurezza e decidere con tutta tranquillità come gestire le riprese. La qualità dei video, tuttavia, ha bisogno di uno step in più per essere competitiva
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 27-06-2007, 15:33   #1
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Programma con un'unica istanza

Cosa bisogna fare per creare un programma "singleton"?
Magari il modo per farlo sia su Windows che su Linux.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2007, 15:36   #2
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Su linux, il modo pulito (che usano quasi tutti) è utilizzare un pid file (v. /var/run)
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2007, 16:04   #3
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
La cosa che si usava di più prima che venisse fuori Windows XP era l'utilizzo delle funzioni FindWindow()/FindWindowEx() per cercare una finestra con una certa classe e/o titolo (ammesso che l'applicazione faccia uso di finestre, chiaramente).

Windows XP ha introdotto la funzionalità di fast user switching e FindWindow non va più bene. Infatti FindWindow cerca la finestra solo nel desktop corrente e non nei desktop creati in altre sessioni utente.

La cosa migliore è usare un kernel object globale, un evento o un mutex che abbia un nome specifico.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2007, 16:17   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Su Windows dovrebbe bastare una named mutex creata con CreateMutex...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2007, 01:40   #5
morskott
Member
 
Iscritto dal: Jul 2005
Messaggi: 291
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Cosa bisogna fare per creare un programma "singleton"?
Magari il modo per farlo sia su Windows che su Linux.
Bhe, usando java basterebbe una classe
Codice:
public class MySingleton{
private static MySingleton istance; //variabile statica contenente l'unica istanza della classe nel sistema
//altre variabili di istanza

private MySingleton(){} //costruttore PRIVATO cosicchè nessuno (tranne questa stessa classe) possa creare oggetti, l'ho fatto senza argomenti e senza corpo, naturalmente puo contenere quello che vuoi

public static MySingleton getIstance(){ //ritorna l'unica istanza della classe, l'ho fatto senza nessun argomento, puo prendere gli argomenti necessari ad un'eventuale creazione del singleton
if (istance==null) istance=new MySingleton(); //inizzializzazione lazy
return istance; //ritorno l'oggetto
}

//altri metodi di classe
}
Se vuoi sapere altri design pattern da poter usare (sempre in java) puoi andare qui.
Ovviamente essendo java gira sia su win che su linux.
morskott è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2007, 01:56   #6
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
No...lui intende un programma (non una classe) che può essere eseguito in una sola istanza...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2007, 14:13   #7
morskott
Member
 
Iscritto dal: Jul 2005
Messaggi: 291
una puzzonata sarebbe che all'inizio del programma crea un file (anche vuoto) e alla chiusura lo cancelli, e parte solo se quel determinato file non c'è.
In pseudocodice
Codice:
if (esiste(mioFile)) esci dal programma
altrimenti crea(mioFile)
//resto del programma
elimina(file)
Prima che mi linciate dico che è un'autentico obbrobbbbbio.
Altrimenti chiedi al sistema di passarti un mutex all'inizio e lo rilasci alla fine, soluzione sicuramente piu elegante ma non so se fattibile
morskott è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2007, 14:18   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da morskott Guarda i messaggi
Prima che mi linciate dico che è un'autentico obbrobbbbbio.
Altrimenti chiedi al sistema di passarti un mutex all'inizio e lo rilasci alla fine, soluzione sicuramente piu elegante ma non so se fattibile
Non è un obbrobrio. E' quello che si fa spesso con Linux e lo si va a creare in una parte del disco che ad ogni avvio viene liberata...il problema è che devi riavviare il sistema (o cancellare il file a mano) se il programma ti crasha...
Con la named mutex se il programma crasha la mutex viene automaticamente rilasciata...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2007, 14:57   #9
morskott
Member
 
Iscritto dal: Jul 2005
Messaggi: 291
Quote:
Originariamente inviato da cionci Guarda i messaggi
Non è un obbrobrio. E' quello che si fa spesso con Linux e lo si va a creare in una parte del disco che ad ogni avvio viene liberata...il problema è che devi riavviare il sistema (o cancellare il file a mano) se il programma ti crasha...
Con la named mutex se il programma crasha la mutex viene automaticamente rilasciata...
E se crei un programma che fa il check all'avvio del file, in caso affermativo crea un nuovo processo/thread che lancia il programma vero e propio e si mette in attesa del suo termine per poi alla fine cancellare il file, così in caso di crash del programma principale puo cancellare tranquillamente il file?
morskott è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Lenovo LOQ 15i Gen 10 (15IRX10) alla prova: il notebook gaming 'budget' che non ti aspetti Lenovo LOQ 15i Gen 10 (15IRX10) alla prova: il n...
Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando Due mesi di Battlefield 6: dalla campagna al bat...
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare Antigravity A1: drone futuristico per riprese a ...
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator Sony Alpha 7 V, anteprima e novità della ...
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1 realme GT 8 Pro Dream Edition: prestazioni da fl...
Le riprese della Stagione 3 di Fallout i...
Pokémon GO introduce gli scambi a...
Arriva l'archivio del futuro: Atlas Eon ...
Arriva il robot umanoide Made in Italy: ...
HONOR Robot Phone è mezzo smartphone, me...
Insta360 GO 3S e X3: le videocamere a 36...
BYD inarrestabile: produzione di batteri...
Arriva lo Xiaomi Robot Vacuum 5: il nuov...
Tachyum contro Google: parte la disputa ...
Meta Quest 3S: la realtà virtuale...
Veneto, nuovo maxi-incentivo auto: fino ...
Ecco una super offerta sul Samsung QLED ...
Scendono i prezzi delle Fire TV Stick 4K...
AI Overviews, AI Mode e YouTube sotto la...
Amazon fa all in, senza bluff: prezzi Bl...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:36.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v