🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.java
2 messages
2 total messages Started by Łukasz Michalak Mon, 29 Sep 1997 15:54
Wielowątkowość apletów.
#1078
Author: Łukasz Michalak
Date: Mon, 29 Sep 1997 15:54
63 lines
2096 bytes
Mam pewien problem - nie wiem jak napisać wielowątkowy 
(multithreaded) aplet. Napisałem następujący kod, ale on nie
działa - wykonywany jest tylko jeden wątek. Jeżeli wiesz jak
napisać wielowątkowy aplet to bardzo proszę o pomoc. Z 
góry dziękuję.
Mój adres: lukmzsgu@ids.pl


Oto kod apletu (według mnie powinien działać, ale nie działa
on prawidłowo - jest wykonywany tylko pierwszy wątek):


////////////////////////////////////////////////////////////////////////////
/////////////////////

		import java.awt.* ;		               
		import java.net.URL;				   
		import java.net.MalformedURLException; 
		import java.lang.InterruptedException;
		import java.applet.Applet;

class klasa1 extends Applet implements Runnable
{
	String napis=null;
	Thread thread=null;
	
	public void start()
	{
		thread=new Thread(new klasa2(),"klasa2");
		Thread thread1=new Thread(this);
		thread1.start();
		thread.start();
	}
	public void run()
	{
		napis="Pozdrowienie z pierwszego wątka";
		repaint();
	}
	public void paint(Graphics g)
	{
	   	Font font = new Font("Courier",Font.PLAIN+Font.BOLD,15);
		g.setFont(font);
		g.drawString(napis, 10, 10);
		
	}  
}

class klasa2  extends Applet implements Runnable
{

	public void run()
	{
	 showStatus("Pozdrowienie z drugiego wątka!");
	}

}

////////////////////////////////////////////////////////////////////////////
/////////////////

Jeszcze raz dziękuję za ewentualne odpowiedzi.

Łukasz Michalak   -   lukmzsgu@ids.pl
Re: Wielowątkowość apletów.
#1079
Author: Artur Tyloch
Date: Mon, 29 Sep 1997 17:50
135 lines
4447 bytes
Czesc sciagnij sobie tutorial Sun'a tam jest opisane m.in jak pisac 
programy wielowatkowe. 
w Polsce chyba ftp://sunsite.icm.edu.pl czy cos...
I jak pisac w Javie :)

Łukasz Michalak wrote:
> 
> Mam pewien problem - nie wiem jak napisać wielowštkowy
> (multithreaded) aplet. Napisałem następujšcy kod, ale on nie
> działa - wykonywany jest tylko jeden wštek. Jeżeli wiesz jak
Dziala tylko, ze tego nie widzisz!!!
> napisać wielowštkowy aplet to bardzo proszę o pomoc. Z
> góry dziękuję.
> Mój adres: lukmzsgu@ids.pl
> 
> Oto kod apletu (według mnie powinien działać, ale nie działa
> on prawidłowo - jest wykonywany tylko pierwszy wštek):
drugi tez jest wykonywany
> 
> ////////////////////////////////////////////////////////////////////////////
> /////////////////////
> 
>                 import java.awt.* ;
>                 import java.net.URL;
niepotrzebne
>                 import java.net.MalformedURLException;
niepotrzebne
>                 import java.lang.InterruptedException;
>                 import java.applet.Applet;
> 
> class klasa1 extends Applet implements Runnable
> {
>         String napis=null;
>         Thread thread=null;
> 
>         public void start()
>         {
>                 thread=new Thread(new klasa2(),"klasa2");
>                 Thread thread1=new Thread(this);
>                 thread1.start();
>                 thread.start();
>         }
>         public void run()
>         {
>                 napis="Pozdrowienie z pierwszego wštka";
>                 repaint();
>         }
>         public void paint(Graphics g)
>         {
>                 Font font = new Font("Courier",Font.PLAIN+Font.BOLD,15);
>                 g.setFont(font);
>                 g.drawString(napis, 10, 10);
> 
>         }
> }
> 
> class klasa2  extends Applet implements Runnable
niepotrzebne   ^^^^^^^^^^^^^^
> {
> 
>         public void run()
>         {
>          showStatus("Pozdrowienie z drugiego wštka!");
>         }
> 
> }
> 
> ////////////////////////////////////////////////////////////////////////////

A to poprawiony i dzialajacy:
//import java.awt.* ;                            
import java.lang.InterruptedException;
import java.applet.Applet;

public class klasa1 extends Applet implements Runnable
{
        String napis  = "";
        String napis2 = "";
        Thread thread = null;
        Thread thread1 = null;
        
        public void start()
        {
                thread=new Thread(new klasa2(this));
                thread1=new Thread(this);
                thread.start();
                thread1.start();

        }
        public void run()
        {
			napis="Pozdrowienie z pierwszego wštka ";
			try
			{Thread.currentThread().sleep(1000);}
			catch (InterruptedException e){}
                repaint();
        }
        public void paint(Graphics g)
        {
                Font font = new Font("Courier",Font.PLAIN+Font.BOLD,15);
                g.setFont(font);
                g.drawString(napis+napis2, 10, 10);
        }  
}

class klasa2 implements Runnable
{
	klasa1 k1;

	klasa2(klasa1 k)
	{
		k1=k;
	}

      public void run()
	{
		k1.napis2=" i drugiego watka";
		//showStatus("Pozdrowienie z drugiego wštka!");
//dostep do browsera^^^ mozesz miec przez klase (dziedziczaca z
java.applet.Applet)
// która tworzy ten watek, i nie trzeba implementowac tej
// klasy jako podklase Applet.  
	}
}

voila


> Jeszcze raz dziękuję za ewentualne odpowiedzi.
prosze Cie bardzo
> 
> Łukasz Michalak   -   lukmzsgu@ids.pl

pozdrowienia
Artur
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads