Tutorial Addendum On Java - Accoutrement



 31 December 18:00   

    



    



    

The afterward program shows that how assorted accoutrement can plan calm

    

to account how some weekdays in anniversary year for 2000 years starting

    

from year 2000. In this program , an array, y_days, is declared as static,

    

so it can be aggregate by all the accoutrement to abundance the affected result,

    

the amount of weekdays of a specific year.

    

 

    

/**

    

* WeekDayCounter.java

    

* Absorb (c) 2002 by Dr. Yang

    

*/

    

import java.util.*;

    

class WeekDayCounter extends Cilia {

    

clandestine changeless final int t_maxi = 5; // best amount of threads

    

clandestine changeless int t_last = -1; // basis of the endure thread

    

clandestine int t_indx; // basis of this thread

    

clandestine changeless int t_year = new int;

    

clandestine changeless boolean t_done = new boolean;

    

clandestine changeless final int y_maxi = 2000; // best amount of years

    

clandestine changeless final int s_year = 2000; // starting year

    

clandestine changeless int y_days = new int; // weekdays

    

clandestine changeless int y_logs = new int; // tracking the thread

    

accessible changeless abandoned main(String a) {

    

for (int i=0; i<y_maxi; i++) {

    

y_days = 0;

    

y_logs = 0;

    

}

    

for (int i=0; i<t_maxi; i++) {

    

WeekDayCounter t = new WeekDayCounter();

    

t.start();

    

}

    

System.out.print("Thread: ");

    

for (int i=0; i<t_maxi; i++) {

    

System.out.print(i+" ");

    

}

    

Date t1 = new Date();

    

while(true) {

    

System.out.print("
Year: ");

    

boolean done = true;

    

for (int i=0; i<t_maxi; i++) {

    

System.out.print(t_year+" ");

    

done = done && t_done;

    

}

    

if (done) break;

    

try {

    

sleep(100);

    

} bolt (InterruptedException e) {

    

System.out.println("Interrupted.");

    

}

    

}

    

Date t2 = new Date();

    

System.out.println("
Time = "+(t2.getTime()-t1.getTime()));

    

System.out.println("Year, Threads");

    

for (int y=s_year; y<s_year+y_maxi; y++) {

    

if (y_logs>1) {

    

System.out.println(y+", "+y_logs);

    

}

    

}

    

}

    

accessible WeekDayCounter() {

    

t_last++;

    

t_indx = t_last;

    

t_done = false;

    

t_year = 0;

    

}

    

accessible abandoned run() {

    

GregorianCalendar c = new GregorianCalendar();

    

for (int y=s_year; y<s_year+y_maxi; y++) {

    

t_year = y;

    

if (y_days==0) {

    

y_days = -1;

    

c.clear();

    

c.set(y,0,1); // first day of the year

    

int n = 0;

    

while (c.get(Calendar.YEAR)<=y) {

    

if (c.get(Calendar.DAY_OF_WEEK)==Calendar.MONDAY) n++;

    

if (c.get(Calendar.DAY_OF_WEEK)==Calendar.TUESDAY) n++;

    

if (c.get(Calendar.DAY_OF_WEEK)==Calendar.WEDNESDAY) n++;

    

if (c.get(Calendar.DAY_OF_WEEK)==Calendar.THURSDAY) n++;

    

if (c.get(Calendar.DAY_OF_WEEK)==Calendar.FRIDAY) n++;

    

c.add(Calendar.DATE,1);

    

}

    

y_days = n;

    

y_logs += 1;

    

}

    

}

    

t_done = true;

    

}

    

}

    



    



    

When accoutrement are launched, they will all alpha to plan on one year at

    

time, alpha with the aforementioned starting year, 2000. After any coordination,

    

they will all plan on year 2000, then 2001. This is not what we want.

    

We charge to acquaint anniversary cilia to skip the year if addition cilia has already

    

finished adding for that year. This is done by initialize y_days with 0

    

for all the years at the alpha of the program , and ambience y_days of

    

a year to the affected aftereffect of that year. If addition cilia is active

    

behind and alcove this that year later, it checks the amount in y_days for

    

that year. If the amount is not 0, it will skip that year.

    



    

However, just ambience y_days to the aftereffect of the end of the adding is

    

not enough. Because artful the amount of weekdays of one year will yield some time,

    

and during this period, addition cilia ability still aces up that year and

    

work on that year, because the y_days amount is still 0. A simple way to stop

    

this aberration is to set y_days to -1 at the alpha of the calculation.

    



    

The program is aswell architecture to verify if a program we can added plan done with

    

more threads. Actuality is the after-effects of the program with altered amount of threads:

    



    

Output of 1 thread:

    

 

    

Thread: 0

    

Year: 0

    

Year: 2001

    

Year: 2025

    

Year: 2044

    

Year: 2077

    

Year: 2112

    

......

    

Year: 3824

    

Year: 3859

    

Year: 3895

    

Year: 3930

    

Year: 3966

    

Year: 3999

    

Time = 6029

    

Year, Threads

    



    



    



 


Tags: years, program, system, starting, beginning, final, value, calculation, public, result, print

 calendar, thread, threads, static, private, system, program, weekdaycounter, println, weekdays, print, value, calculation, beginning, public, result, years, final, boolean, starting, , system out, private static, calendar day, week calendar, static int, year 2000, static final, final int, new int, private static final, maxi private static,

Share Tutorial Addendum On Java - Accoutrement:
Digg it!   Google Bookmarks   Del.icio.us   Yahoo! MyWeb   Furl  Binklist   Reddit!   Stumble Upon   Technorati   Windows Live   Bookmark

Text link code :
Hyper link code:

Also see ...

Tutorial Addendum On Java - Accoutrement
Output of 5 threads: Thread: 0 1 2 3 4 Year: 0 0 0 0 0 Year: 2039 2040 2043 2042 2044 Year: 2067 2040 2048 2042 2044 Year: 2124 2142 2048 2159 2044 Year: 2318 2180 2230 2300 2

Tutorial Addendum On Java - Accoutrement
/** * TimerThread.java * Absorb (c) 2002 by Dr. Yang */import java.util.*;import java.text.*;class TimerThread extends Cilia { clandestine changeless final int NORMAL_CLOCK = 1; clan

Tutorial Addendum On Java - Cilia Groups
ThreadGroup ClassThreadGroup: A chic represents a accumulating of Cilia altar and ThreadGroup objects. Features of ThreadGroup class:

Tutorial Addendum On Java - Cilia Groups
Output: ThreadGroup name = system Has ancestor cilia accumulation = false of alive accoutrement = 6 Cilia name = Advertence Handler Cilia name = Finalizer Cilia name = Arresting

Tutorial Addendum On Java - Cilia Groups
Output: Running AThread 2Ending AThread 2Running AThread 3Running BThread 5Ending BThread 5Running BThread 6Ending BThread 6Running BThread 7Ending BThread 7b

What is the Conficker Virus?
What is the Conficker Virus? The Conficker virus (aka Downup virus, Downandup virus, Conflicker virus, and Kido virus) is a worm. A bastard is a blazon of virus that spreads itself through networks. Basically anyone starts it up and it starts searching about a arrangement that it is affiliated to

Be Acute About Accepting a Job During Computer Forensics Job Openings
Congrats! You accept graduated. So what`s next? How do you auspiciously get a job during computer forensics job openings?Well, there are no formulas or secrets that assure success in a accepting a job, but there are some basal tips that we should understand if applying for a job. Le

Why the Account on Your Awning Differs From the Printed Aftereffect
Let`s explain that because it is a bit confusing:Letus brainstorm you accept a 1 x 1 inch, 144 ppi angel and your adviser alone has 72 dpi (dots per inch), the angel is infact traveling to be displayed 2 x 2. Why? Able bodied that is because your adviser alone shows 72 pixels per aboveboard inch s

E-Waste and Its Appulse on Our Planet
Have you anytime advised what happens to your television, cordless phone, or MP3 amateur afterwards it break or becomes obsolete? Customer electronics aftermath about 3 actor bags of article and cyberbanking waste, or e waste, every year. Area does e waste go afterwards it is befuddled out, and ho

Tutorial Addendum On Java - Accoutrement
Output of 5 threads: Thread: 0 1 2 3 4 Year: 0 0 0 0 0 Year: 2039 2040 2043 2042 2044 Year: 2067 2040 2048 2042 2044 Year: 2124 2142 2048 2159 2044 Year: 2318 2180 2230 2300 2

Tutorial Addendum On Java - Accoutrement
/** * TimerThread.java * Absorb (c) 2002 by Dr. Yang */import java.util.*;import java.text.*;class TimerThread extends Cilia { clandestine changeless final int NORMAL_CLOCK = 1; clan

Tutorial Addendum On Java - Cilia Groups
ThreadGroup ClassThreadGroup: A chic represents a accumulating of Cilia altar and ThreadGroup objects. Features of ThreadGroup class:

Tutorial Addendum On Java - Cilia Groups
Output: ThreadGroup name = system Has ancestor cilia accumulation = false of alive accoutrement = 6 Cilia name = Advertence Handler Cilia name = Finalizer Cilia name = Arresting

Tutorial Addendum On Java - Cilia Groups
Output: Running AThread 2Ending AThread 2Running AThread 3Running BThread 5Ending BThread 5Running BThread 6Ending BThread 6Running BThread 7Ending BThread 7b

Permalink
Article In : Computers & Technology  -  java