Torna indietro   Hardware Upgrade Forum > Software > Programmazione

 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco
Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco
MiniLED di fascia media con local dimming a 192 zone, 144 Hz nativi e audio firmato Devialet. La prova strumentale riscontra colori affidabili e gaming reattivo, per un prodotto molto accessibile e convincente. Ma la soundbar aggiuntiva è quasi d'obbligo
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto
Amazon porta i colori sul suo Kindle da scrittura più grande: schermo Colorsoft a 11 pollici, processore quad-core, penna premium più reattiva e strumenti IA per le note, sono le note salienti. Il salto di prezzo rispetto al modello in bianco e nero si fa sentire, anche se la percezione è quella di trovarsi di fronte a un prodotto di fascia altissima, per veri appassionati
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint
Abbiamo intervistato Sumit Dhawan, CEO di Proofpoint, per capire come stia cambiando il mondo della sicurezza con l'avvento dell'intelligenza artificiale e con il ritmo sempre più serrato a cui vengono trovate vulnerabilità nel software. Un problema significativo, che richiederà del tempo per essere risolto (o quantomeno arginato)
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-01-2010, 01:33   #1
Frank1962
Senior Member
 
L'Avatar di Frank1962
 
Iscritto dal: Sep 2001
Città: de_legato
Messaggi: 792
[SERVLETv3 & ASYNC]il non riuscire a capire se una cosa fa al caso tuo....

Alur ...da un pò è uscito il Glassfish 3 con pieno supporto alle Servlet v3 che alcuni di voi sapranno finalmente introducono il concetto di Async ....quà un pò di codice, quello della servlet che usa l'async:

Codice:
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import javax.servlet.AsyncContext;

@WebServlet(urlPatterns = "/AsynchServlet", asyncSupported = true)
public class AsynchServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        AsyncContext aCtx = request.startAsync(request, response);
        ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(10);
        executor.execute(new AsynchRunnable(aCtx));

    }
}
Questa è la servlet con supporto dell'asincrono abilitato ...adesso passiamo a definire la classe AsynchRunnable, cioè il thread che farà il lavoro "oneroso" in termini temporali:

Codice:
import javax.servlet.AsyncContext;

public class AsynchRunnable implements Runnable {

    AsyncContext ctx;

    public AsynchRunnable(AsyncContext ctx) {
        this.ctx = ctx;
    }

    public void run() {
        // Simulate a long-running task such as
        // calling a webservice, performing database
        // operation, or waiting for a server side
        // event (such as receiving a message in
        // Comet-enabled environment.
        try {
            // Sleep for 1000 ms
            Thread.sleep(1000);
        } catch (Exception ie) {
        }

        ctx.dispatch("/response.jsp");
    }
}
ecco come vedete l'ultima classe è quella che simula il lavoro "sporco" ....vedendo questo codice di esempio di queste nuove funzionalità mi è sovvenuto un dubbio alquanto fastidioso: ma non è che stà async è solo lato client? ....cioè nel senso che, come in questo caso, se mi arrivano 10 richieste dal client di svolgere altrettanti AsynchRunnable mi ritroverò con l'executor che sarà obbligato ad istanziare altri nuovi thread per svolgere eventuali ulteriori richieste ....e se invece, per esempio, invece del Thread.sleep ci fosse una lettura dell'InputStream del client che mi invia i dati molto lentamente ......non è che vado a sprecare Thread inutilmente dato che svolgono lavori dove potrebbero in realtà essere riciclati invece di attendere sulle read bloccanti che l'interfaccia della classe ServletInputStream mi offre? ...ma perchè non hanno implementato i canali anche con le Servlet? che ne so ...una ServletChannel?

Oppure sono io che mi sbaglio è c'è qualche modo che mi permette di utilizzare un pool fisso di thread senza che qualcuno di questi rimanga bloccato su una read() o write() da e per il client?
__________________
----------------------------------------------
File reality.sys corrupted, Reboot Universe? Y/N
----------------------------------------------

Ultima modifica di Frank1962 : 22-01-2010 alle 12:28.
Frank1962 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco Hisense 55U7SE: tuttofare e accessibile, il Min...
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto Kindle Scribe Colorsoft: riduce le cornici e div...
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint L'IA cambia tutte le regole della sicurezza tra ...
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026 L'Europa conta nella tecnologia e può ess...
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
USA e Cina si combattono su tutto, trann...
UE, entra in vigore il nuovo dazio sui p...
Piccolo fuori, enorme dentro: il nuovo C...
Nothing Phone (4b) si mostra online a un...
TOP 12 offerte Amazon, aggiornata ora: 2...
Nano Banana 2 Lite: immagini in 4 second...
L'AI fa paura anche ad Apple: cambia com...
Switch 2, aggiornamento hardware in arri...
Roborock F25 e F25 ALT in offerta su Ama...
La fabbrica lituana che vuole salvare l'...
Google cambia i backup di Android: ora p...
Alla scoperta di Aiper, robot pulisci pi...
OPPO Reno16, Pro e FS ufficiali: super b...
Saltato l'accordo con BOE: i top di gamm...
Insta360 X4 Air a 299€ invece di 399€: &...
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: 10:25.


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