Java thread question

ShehanAM

Well-known member
  • Feb 7, 2017
    1,633
    789
    113
    polonnaruwa
    Java Multithread pothaka example ekaka mehemma code ekak thibba.
    Code:
    [SIZE="3"][FONT="Lucida Console"][COLOR="Indigo"]public class Main {
      private static boolean done;
    
      public static void main(final String[] args) throws InterruptedException {
        new Thread(new Runnable() {
          public void run() {
            int i = 0;
            while (!done) {
              i++;
            }
            System.out.println("Done!");
          }
        }).start();
    
        System.out.println("OS: " + System.getProperty("os.name"));
        Thread.sleep(2000);
        done = true;
        System.out.println("flag done set to true");
      }
    }[/COLOR][/FONT][/SIZE]

    meka run kalama "OS ekai, flag done set true" kiyana lines display wenakan wenawa. Eth mata thiyena prashne meke mada thiyena while(!done) loop eken eliyata enna baa neda kiyala? mokada boolean done eke value eka false, ithin ekanisa me code eka hama welema true wenawane, ehenam kohomada code eka while loop eken eliyata awilla ara lines print karanne?.

    Java waddo help plese karanna, meka mata therum karala kiyanawada ehema wenna hethuwa.
     

    Scattered123

    Well-known member
  • Nov 18, 2012
    947
    323
    63
    Does it matter?
    done eke default value eka false. while(!done) meka run wenne done eka false wela tiyenkn. ithin eka khmt execute wenawa.

    aee thread eka wenama run wenw. Thread.Sleep(2000); passe done = true; nisa while loop eka execute wena eka nathara wenw
     

    Scattered123

    Well-known member
  • Nov 18, 2012
    947
    323
    63
    Does it matter?
    Code:
    public class Main {
      private static boolean done;
      static int i = 0;
    
      public static void main(final String[] args) throws InterruptedException {
        new Thread(new Runnable() {
          public void run() {
            while (!done) {
              i++;
            }
            System.out.println("Done!");
          }
        }).start();
    
        System.out.println("OS: " + System.getProperty("os.name"));
        Thread.sleep(2000);
        done = true;
        System.out.println(i);
        System.out.println("flag done set to true");
      }
    }

    oya code eka run karapn
     
    Last edited:

    ShehanAM

    Well-known member
  • Feb 7, 2017
    1,633
    789
    113
    polonnaruwa
    done eke default value eka false. while(!done) meka run wenne done eka false wela tiyenkn. ithin eka khmt execute wenawa.

    aee thread eka wenama run wenw. Thread.Sleep(2000); passe done = true; nisa while loop eka execute wena eka nathara wenw
    E kiwwe machan While loop eka thiyena thread eka wenama thread ekak. os display wena lines thiyenne wenama thread ekaka nisada?

    Eth machan ara while loop eka thiyena thread eka create wena process ekedi infinite loop ekak wenne nadda? mokada machan e thread eka ".start()"method eka call wenna kalin eke athule thiyena while loop eka complete wela iwara wenna one neda? eka complete wenakan while loop eka thiyena thread eka wenama thread ekak wenne naa neda?
     

    Scattered123

    Well-known member
  • Nov 18, 2012
    947
    323
    63
    Does it matter?
    Uba hariyata therum aragena na Threading kiyanne mkkd kyl....:no:

    ae thread eka Start krnkn eke athule tiyena code eka run wenne na sahodaraya. eka run unath oya uba yatin tiyena code ekka execute wenne na, thread ekak kiyanne ekai.

    mama dunna code eka execute krpn
     

    Scattered123

    Well-known member
  • Nov 18, 2012
    947
    323
    63
    Does it matter?
    E kiwwe machan While loop eka thiyena thread eka wenama thread ekak. os display wena lines thiyenne wenama thread ekaka nisada?

    ow bn, ewa thread dekak. uba start kranne wenama thread ekak.


    Eth machan ara while loop eka thiyena thread eka create wena process ekedi infinite loop ekak wenne nadda? mokada machan e thread eka ".start()"method eka call wenna kalin eke athule thiyena while loop eka complete wela iwara wenna one neda? eka complete wenakan while loop eka thiyena thread eka wenama thread ekak wenne naa neda?

    uba threading hariyatama therum aragena na, thread ekak define karala uba eka start kalama eka run wenne wenama mcn. ube oya tiyena code eka athule eka run wenne na.
     

    ShehanAM

    Well-known member
  • Feb 7, 2017
    1,633
    789
    113
    polonnaruwa
    Uba hariyata therum aragena na Threading kiyanne mkkd kyl....:no:

    ae thread eka Start krnkn eke athule tiyena code eka run wenne na sahodaraya. eka run unath oya uba yatin tiyena code ekka execute wenne na, thread ekak kiyanne ekai.

    mama dunna code eka execute krpn
    Run kala machan ube code eka.
    Ethakota machan i value eka display wuna loop eke giya waaragana.
    E kiyanne machan loop weka thiyena thread eka run wenawa digatama anith thread eken boolean eka false karanakan ehema neda macho?

    Ethakota macho start() eka call wenakan athule thiyena run method eka call wenne na neda?
     

    Scattered123

    Well-known member
  • Nov 18, 2012
    947
    323
    63
    Does it matter?
    Run kala machan ube code eka.
    Ethakota machan i value eka display wuna loop eke giya waaragana.
    E kiyanne machan loop weka thiyena thread eka run wenawa digatama anith thread eken boolean eka false karanakan ehema neda macho?

    Ethakota macho start() eka call wenakan athule thiyena run method eka call wenne na neda?

    hamme ubata oya therune:yes:
    ow bn, while loop eken check krnwne done eke value eka, ithin anik thread ekedi eka true una gmn while loop eka break wenw.
    (Okata anuwa boolean eka false newei bn, true wenne)

    Ethakota macho start() eka call wenakan athule thiyena run method eka call wenne na neda?

    na bn, uba start krnkn eka run wenne na, eka run wenne uba start(), call kalama witharai. eth eka run wenne wenama thread ekaka
     
    Last edited:

    ShehanAM

    Well-known member
  • Feb 7, 2017
    1,633
    789
    113
    polonnaruwa
    hamme ubata oya therune:yes:
    ow bn, while loop eken check krnwne done eke value eka, ithin anik thread ekedi eka true una gmn while loop eka break wenw.
    (Okata anuwa boolean eka false newei bn, true wenne)

    Ethakota macho start() eka call wenakan athule thiyena run method eka call wenne na neda?

    na bn, uba start krnkn eka run wenne na, eka run wenne uba start(), call kalama witharai. eth eka run wenne wenama thread ekaka
    Thank you machan kiyala dunnata.
    Dan theruna scene eka. Thank you again :yes::yes: