wywołaniu jej przez System, nastąpiło pełne odtworzenie obsługiwanego przez nią pulpitu...
Serwis znalezionych hasełOdnośniki
- Smutek to uczucie, jak gdyby się tonęło, jak gdyby grzebano cię w ziemi.
- 2010-03-01 01:00 4306 2570 Oprogramowanie Systemów Pomiarowych\OSP\KursyNatInst\KursyNatInst\2012_LV Core 3\2012_LV Core 3_Exercises\Demonstrations\Design...
- Search ROM [F0h] When a system is initially brought up, the bus master might not know the number of devices on the 1-Wire bus or their 64-bit ROM codes...
- safe_mode_proteced_env_vars = "PATH, LD_LIBRARY_PATH" open_basedir = $a'cuch_znaków Zasięg: PHP_INI_SYSTEM; wartość domyślna: NULL...
- W systemie tonalnoœci duur-moll w zakresie'wertykalnej koordynacji wspó³brzmieñ uk³adów polifomcznychwat¹ zastosowanie prawid³a harmonii dur-moll(funkcyjnej)...
- Wszystko zaczyna się bardzo prosto, bo system liczbowy Majów jest całkiem prosty: jedynkę oznaczali kropką, dwójkę dwiema kropkami- i tak dalej...
- Zaistnienie filozofii jako dziedziny kultury narodowej, w której nacja wyra|a swój [wiatopogld, byBo mo|liwe, pojawiB si bowiem system okre[lonych poj i metod
- Istotą przyrodoznawstwa nieorganicznego jest system, istotą zaś organiki jest porównywanie /każdej poszczególnej formy w typie/...
- system funkcyjnyków zgodnie z przyjêtymi za³o¿eniami in-terwa³owymi tworzy -> skalê muzyczn¹, na której opiera siê muzyka danego œrodowiska kulturowego w danym...
- Pos³uguj¹c siê asystentami dobrze wytrenowanymi w stosowaniu tego systemu kodowania interakcji, Bales i Slater (1955) wykazali, ¿e w spontanicznym przebiegu...
- Wnioski, które na podstawie tych badañ wprowadzono, zmierza³y do przeorganizowania ca³ego systemu szkolnego, do stworzenia szko³y "na miarê dziecka"...
Smutek to uczucie, jak gdyby się tonęło, jak gdyby grzebano cię w ziemi.
Następujący program właściwie dostosowano do warunków obsługiwania zdarzeń w dynamicznym i
wielookienkowym środowisku graficznym.
import java.io.IOException;
import java.applet.*;
import java.awt.*;
import java.util.*;
public
class Master extends Frame {
Font font;
String chr = " ";
Vector chars = new Vector();
static Frame frame;
Master()
{
super("PressKey & Click");
font = new Font("TimesRoman", Font.BOLD, 24);
}
public static void main(String args[])
throws IOException
{
frame = new Master();
frame.resize(160, 100);
frame.show();
System.in.read();
System.exit(0);
}
public boolean keyUp(Event evt, int key)
{
chr = String.valueOf((char)key);
return true;
}
public boolean mouseUp(Event evt, int x, int y)
{
Graphics gDC = getGraphics();
gDC.setFont(font);
gDC.drawString(chr, x, y);
Item item = new Item(chr, x, y);
chars.addElement(item);
return true;
}
public void paint(Graphics gDC)
{
Font oldFont = gDC.getFont();
102
gDC.setFont(font);
Enumeration charSet = chars.elements();
while(charSet.hasMoreElements()) {
Object item = charSet.nextElement();
((Item)item).draw(gDC);
}
gDC.setFont(oldFont);
}
}
class Item {
private String chr;
private int x, y;
public Item(String chr, int x, int y)
{
this.chr = chr;
this.x = x;
this.y = y;
}
public void draw(Graphics gDC)
{
gDC.drawString(chr, x, y);
}
}
W programie uż yto predefiniowanej klasy Vector implementują cą kolekcję tablicową o nieograniczonej liczbie elementów oraz interfejsu Enumeration definiują cym metody do iterowania kolekcji.
Zgodnie z zasadami programowania obiektowego, każ dy element przewidziany do wyś wietlenia jest odrę bnym
obiektem (tu klasy Item).
W klasie Item zdefiniowano nie tylko pola, ale również metodę do wykreś lania obiektu.
Rezultatem metody elements wywołanej w instrukcji
Enumeration charSet = chars.elements();
jest odnoś nik do iteratora, którego klasa zawiera metody hasMoreElements i nextElement. Umoż liwiają one dokonanie przeglą du wszystkich elementów wstawionych do kolekcji chars.
103
Część VI
Programowanie współbież ne
Istota programowania współbież nego polega na wykorzystaniu możliwości jednoczesnego wykonania
współpracujących i komunikujących się ze sobą procesów. W obrębie ustalonego programu takimi procesami
sÄ… wÄ… tki.
Wątkiem jest sekwencyjny przepływ sterowania przez kod wynikowy programu. Program jest napisany
wielową tkowo, jeśli podczas wykonywania go w środowisku wieloprocesorowym można stwierdzić, że są takie
przedziały czasu, kiedy w co najmniej dwóch procesorach występuje współbież ny (tj. równoczesny) przepływ sterowania przez kod wynikowy programu.
W komputerach jednoprocesorowych, współbieżność wątków jest tylko emulowana, a w każdej chwili
przepływ sterowania odbywa się w tylko jednym wątku. Ale nawet w takim środowisku, program
wielowątkowy powinien być napisany tak, jakby miał być wykonany przez wiele procesorów.
Najprostszym sposobem utworzenia programu wielowÄ…tkowego jest utworzenie obiektu klasy Thread,
przekazanie mu odnośnika do obiektu klasy zawierającej metodę run, a następnie wykonanie na rzecz
pierwszego z tych obiektów metody start. Spowoduje to dla danego wątku aktywowanie metody run. Po jej
zakończeniu wątek przestanie istnieć.
Następujący program, pokazany podczas wykonywania na ekranie Pulsują ce okrę gi, ilustruje zasadę
programowania wielowątkowego. Tworzy on okna, które są obsługiwane przez niezależne wątki.
Ekran PulsujÄ… ce okrÄ™ gi
### pulsars.gif
import java.io.IOException;
import java.awt.*;
public
class Master extends Frame implements Runnable {
static final int count = 5;
Thread thread;
Master(int frameNo)
{
super("Frame #" + frameNo);
resize(160, 100);
show();
thread = new Thread(this); // utworzenie obiektu
thread.start(); // utworzenie wÄ…tku
}
public static void main(String args[])
throws IOException
{
Frame frame[] = new Frame[count];
for(int i = 0; i < count ; i++)
frame[i] = new Master(i);
System.in.read();
System.exit(0);
}
public void run()
{
int xC = size/2, yC = xC;
Graphics gDC = getGraphics();
while(true) {
for(int i = 0; i < 70 ; i++)
gDC.drawOval(0, 0, i, i);
repaint();
}
}
public boolean handleEvent(Event evt)
{
if(evt.id == Event.WINDOW_DESTROY) {
hide(); // ukrycie okna
104
dispose(); // zniszczenie okna
thread.stop(); // zniszczenie wÄ…tku
return true;
} else
return super.handleEvent(evt);
}
}
Utworzono count niezależ nych wą tków, z których każ dy posługuje się odrę bnym oknem.
Kod wą tków jest wspólny i okreś lony przez metodę run.
Zamknię cie okna powoduje zniszczenie posługują cego się nim wą tku.
_________________________________________________________________________________________
Stany wą tków
Każdy wątek wymaga istnienia kontrolującego go obiektu klasy Thread. Wykonanie na rzecz obiektu
kontrolujÄ…cego metody start powoduje utworzenie wÄ…tku, a wykonanie metody stop jego zniszczenie.