Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico
Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico
Forte della piattaforma Qualcomm Snapdragon X, il notebook Lenovo IdeaPad Slim 3 riesce a coniugare caratteristiche tecniche interessanti ad uno chassis robusto, con autonomia di funzionamento a batteria che va ben oltre la tipica giornata di lavoro. Un notebook dal costo accessibile pensato per l'utilizzo domestico o in ufficio, soprattutto con applicazioni native per architettura ARM
Recensione OnePlus Watch 3 43mm: lo smartwatch che mancava per i polsi più piccoli
Recensione OnePlus Watch 3 43mm: lo smartwatch che mancava per i polsi più piccoli
OnePlus risponde alle esigenze di chi cerca un dispositivo indossabile dalle dimensioni contenute con OnePlus Watch 3 43mm. La versione ridotta del flagship mantiene gran parte delle caratteristiche del modello maggiore, offrendo un'esperienza completa in un formato compatto. Il suo limite più grande è abbastanza ovvio: l'autonomia non è il punto di forza di questo modello, ma si raggiungono comodamente le due giornate piene con un uso normale.
BOOX Note Air4 C è uno spettacolo: il tablet E Ink con Android per lettura e scrittura
BOOX Note Air4 C è uno spettacolo: il tablet E Ink con Android per lettura e scrittura
BOOX Note Air4 C rappresenta l'ultima incarnazione della categoria dei tablet E Ink a colori di Onyx, e combina le prestazioni di un dispositivo Android con l'ottima tecnologia Kaleido 3 per il display. Con schermo da 10,3 pollici, un processore Qualcomm Snapdragon 750G e 6 GB di RAM, promette un'esperienza completa per lettura, scrittura e produttività. Il prezzo lo posiziona nel segmento premium, ma questo dispositivo è un vero spettacolo!
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 18-06-2008, 00:06   #1
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
[Java]

Come posso creare(non mi pare ne sia già offerto uno) in Java un mutex di sistema (tipo quello presente in C#) in modo da evitare di lanciare 2 istanze della stessa applicazione?
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 18-06-2008, 00:32   #2
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da nuovoUtente86 Guarda i messaggi
Come posso creare(non mi pare ne sia già offerto uno) in Java un mutex di sistema (tipo quello presente in C#) in modo da evitare di lanciare 2 istanze della stessa applicazione?
se ho capito quello che vuoi mi pare non ci sia niente del genere in java.
Comunque qualcosa di simile è implementabile banalmente creando un file temporaneo e lockandolo.
Quando vedi che esiste ed è lockato allora sta girando un'istanza della tua applicazione, se non esiste allora puoi andare tranquillo, se invece esiste e non è lockato allora la tua applicazione è crashata prima di cancella re il file temporaneo e puoi acquisire tranquillamente il lock senza ricrearlo.
Ovviamente ricordati di cancellarlo quando esci
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 18-06-2008, 12:23   #3
Angus
Senior Member
 
L'Avatar di Angus
 
Iscritto dal: Dec 2001
Città: Milano
Messaggi: 545
domanda ciclica

ricordo che tempo fa qualcuno suggerì l'ottima idea di usare una porta TCP al posto del file
__________________
Angus the Hunter @ Realm of magic | Angus Young @ Batracer
°SetiEmperor°| Ninja Technologies
{ qualunque cosa sia, è veloce e fa male (cit.) }
Angus è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2008, 11:52   #4
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
se ho capito quello che vuoi mi pare non ci sia niente del genere in java.
Comunque qualcosa di simile è implementabile banalmente creando un file temporaneo e lockandolo.
Quando vedi che esiste ed è lockato allora sta girando un'istanza della tua applicazione, se non esiste allora puoi andare tranquillo, se invece esiste e non è lockato allora la tua applicazione è crashata prima di cancella re il file temporaneo e puoi acquisire tranquillamente il lock senza ricrearlo.
Ovviamente ricordati di cancellarlo quando esci
Si purtroppo credo anche io che non esista nulla di simile al Mutex di sistema presente in .Net .
Avevo pensato al file ma solo nel senso di controllarne l' esistenza o meno, ma non avevo effettivamente pensato a fatto che un problema all' applicazione potrebbe impedire la corretta cancellazione prima della chiusura. Esattamente cosa andrebbe usato per lockare il file in java?
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2008, 13:28   #5
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da Angus Guarda i messaggi
domanda ciclica
domanda ambigua più che altro... deve lanciare una sola istanza in che contesto? un'istanza per sessione? un'istanza per desktop? un'istanza per utente? un'istanza globale su tutto il sistema?
inoltre non è detto che in Java esista una soluzione per tutti i suddetti contesti, potrebbe ritrovarsi a dover usare JNI (aggiungo che una mini-libreria per Windows basata su JNI per gestire istanze singole nei vari contesti sarebbe estremamente utile).
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2008, 13:44   #6
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
Quote:
Originariamente inviato da 71104 Guarda i messaggi
domanda ambigua più che altro... deve lanciare una sola istanza in che contesto? un'istanza per sessione? un'istanza per desktop? un'istanza per utente? un'istanza globale su tutto il sistema?
inoltre non è detto che in Java esista una soluzione per tutti i suddetti contesti, potrebbe ritrovarsi a dover usare JNI (aggiungo che una mini-libreria per Windows basata su JNI per gestire istanze singole nei vari contesti sarebbe estremamente utile).
Lo scopo principale è un' istanza per ogni utente.
Non mi sono chiari i primi 2 contesti ch indicavi(sessione e desktop). Puoi farmi un esempio concreto?
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2008, 14:16   #7
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da nuovoUtente86 Guarda i messaggi
Non mi sono chiari i primi 2 contesti ch indicavi(sessione e desktop). Puoi farmi un esempio concreto?
il concetto di sessione è qualcosa di molto conosciuto in Windows da sempre... qualunque niubbetto che usava Windows 95 ricorda il comando "Chiudi sessione" del menu avvio. Windows XP è un sistema multisessione, il che significa che la chiusura della sessione non provoca più lo spegnimento totale del sistema. in Windows XP per aprire una sessione bisogna fare un logon, per chiuderla bisogna fare un logoff. ogni utente può aprire una sessione, e un programma può essere anche avviato nel contesto di sicurezza di un certo utente sotto la sessione di un altro utente.

il concetto di desktop magari invece è un pochino più "inaccessibile"; comunque, in Windows a ciascuna sessione viene associata una Window Station, che è un oggetto del kernel (securable) che può contenere diversi Desktops, altri oggetti del kernel (sempre securable). ciascun utente che avvia una sessione dunque può avere uno o più desktops, che sarebbero "spazi" virtuali in cui possono essere create e visualizzate finestre dalle varie applicazioni. nella Window Station di ciascuna sessione interattiva inoltre c'è sempre almeno un desktop di nome "Default", ed è quello dove normalmente all'avvio viene creato il processo explorer.exe (la shell grafica di Windows) il quale visualizza la taskbar e le icone. tuttavia al desktop "Default" sarebbe possibile aggiungere anche altri desktops nei quali è possibile creare altrettanti processi explorer.exe, e così l'utente si ritroverebbe in un ambiente multidesktop simile a Linux. ecco un programma che lo fa (abbiate pazienza, sta ancora ad una delle prime release e quindi fa un po' schifo ).

percui la domanda è: del tuo programma deve essere possibile avviare più istanze nella stessa sessione ma da parte di utenti diversi? e da parte dello stesso utente in sessioni diverse? o semplicemente in sessioni diverse? o semplicemente da utenti diversi?

inoltre, in una stessa sessione deve essere possibile avviare istanze diverse in desktop diversi?

l'espressione "avviare una sola istanza di un programma" è molto naive.


Quote:
Lo scopo principale è un' istanza per ogni utente.
e relativamente alle sessioni invece? e per quanto riguarda i desktops?
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2008, 14:39   #8
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
Quote:
Originariamente inviato da 71104 Guarda i messaggi
il concetto di sessione è qualcosa di molto conosciuto in Windows da sempre... qualunque niubbetto che usava Windows 95 ricorda il comando "Chiudi sessione" del menu avvio. Windows XP è un sistema multisessione, il che significa che la chiusura della sessione non provoca più lo spegnimento totale del sistema. in Windows XP per aprire una sessione bisogna fare un logon, per chiuderla bisogna fare un logoff. ogni utente può aprire una sessione, e un programma può essere anche avviato nel contesto di sicurezza di un certo utente sotto la sessione di un altro utente.

il concetto di desktop magari invece è un pochino più "inaccessibile"; comunque, in Windows a ciascuna sessione viene associata una Window Station, che è un oggetto del kernel (securable) che può contenere diversi Desktops, altri oggetti del kernel (sempre securable). ciascun utente che avvia una sessione dunque può avere uno o più desktops, che sarebbero "spazi" virtuali in cui possono essere create e visualizzate finestre dalle varie applicazioni. nella Window Station di ciascuna sessione interattiva inoltre c'è sempre almeno un desktop di nome "Default", ed è quello dove normalmente all'avvio viene creato il processo explorer.exe (la shell grafica di Windows) il quale visualizza la taskbar e le icone. tuttavia al desktop "Default" sarebbe possibile aggiungere anche altri desktops nei quali è possibile creare altrettanti processi explorer.exe, e così l'utente si ritroverebbe in un ambiente multidesktop simile a Linux. ecco un programma che lo fa (abbiate pazienza, sta ancora ad una delle prime release e quindi fa un po' schifo ).

percui la domanda è: del tuo programma deve essere possibile avviare più istanze nella stessa sessione ma da parte di utenti diversi? e da parte dello stesso utente in sessioni diverse? o semplicemente in sessioni diverse? o semplicemente da utenti diversi?

inoltre, in una stessa sessione deve essere possibile avviare istanze diverse in desktop diversi?

l'espressione "avviare una sola istanza di un programma" è molto naive.


e relativamente alle sessioni invece? e per quanto riguarda i desktops?
Ma chiudendo e riavviando una sessione l' applicazione non verrebbe terminata. Come si avvia un programma sotto la sessione di un altro utente?
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2008, 14:56   #9
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da nuovoUtente86 Guarda i messaggi
Ma chiudendo e riavviando una sessione l' applicazione non verrebbe terminata.
temo proprio di si invece, a meno che non si tratti di un servizio.
http://msdn.microsoft.com/en-us/libr...68(VS.85).aspx


Quote:
Come si avvia un programma sotto la sessione di un altro utente?
http://msdn.microsoft.com/en-us/libr...29(VS.85).aspx
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2008, 15:07   #10
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
Quote:
Originariamente inviato da 71104 Guarda i messaggi
Il fatto che l' applicazione venga terminata dal sistema potrebbe creare problemi utilizzando ad esempio il file come segnaposto per l' istanza dell' applicazione. Andrebbe gestita la risposta all' hook del sistema o sbaglio?
Di contro però essendo terminata alla chiudura della sessione, mi fa pensare che potrebbe essere sufficiente gestire questo caso come quello per singolo utente, infatt mi sembra di aver capire che lanciare un processo sotto lo spazio di un altro user sia possibile solo attraverso le api di windows ma non con operazioni manuali da shell.
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 22-06-2008, 10:49   #11
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da nuovoUtente86 Guarda i messaggi
Il fatto che l' applicazione venga terminata dal sistema potrebbe creare problemi utilizzando ad esempio il file come segnaposto per l' istanza dell' applicazione.
basta che lo cancelli in risposta a WM_ENDSESSION.


Quote:
Andrebbe gestita la risposta all' hook del sistema o sbaglio?
non ho capito...


Quote:
Di contro però essendo terminata alla chiudura della sessione, mi fa pensare che potrebbe essere sufficiente gestire questo caso come quello per singolo utente,
non ho capito...


Quote:
infatt mi sembra di aver capire che lanciare un processo sotto lo spazio di un altro user sia possibile solo attraverso le api di windows ma non con operazioni manuali da shell.
RunAs
71104 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico Lenovo IdeaPad Slim 3: un notebook Snapdragon X ...
Recensione OnePlus Watch 3 43mm: lo smartwatch che mancava per i polsi più piccoli Recensione OnePlus Watch 3 43mm: lo smartwatch c...
BOOX Note Air4 C è uno spettacolo: il tablet E Ink con Android per lettura e scrittura BOOX Note Air4 C è uno spettacolo: il tab...
Recensione Sony Xperia 1 VII: lo smartphone per gli appassionati di fotografia Recensione Sony Xperia 1 VII: lo smartphone per ...
Attenti a Poco F7: può essere il best buy del 2025. Recensione Attenti a Poco F7: può essere il best buy...
Un razzo spaziale cinese Lunga Marcia 8A...
Apple annuncia l'evento del 9 settembre:...
Broadcom annuncia l'integrazione dell'IA...
AirPods Pro 3: il debutto è vicin...
Corsair XENEON EDGE: il mini-monitor che...
iPhone 17 Pro: tra le novità anche una n...
Incredibile ma vero: Tesla apre le vendi...
Klarna torna alla carica: IPO in vista c...
L'IA arriva sui NAS Synology con l'integ...
Comet, il browser AI di Perplexity, vuln...
NIO arranca, gli ultimi modelli sono un'...
Spotify introduce i messaggi in-app: arr...
Riese & Müller blocca le e-bike verso gl...
Google elimina 77 app dal Play Store: ru...
Il nuovo miracolo cinese si chiama Wulin...
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: 23:27.


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