[Karimuddin
,
3(8): August, 2014] ISSN: 2277-9655
Scientific Journal Impact Factor: 3.449
(ISRA), Impact Factor: 1.852
http: // www.ijesrt.com (C)International Journal of Engineering Sciences & Research Technology
[662]
Table 3. Transactional data represented in the
T10, T20, T50, T60, T70, T80, T90,
T100, T150
T10, T20, T30, T40, T50, T60, T70,
T100, T110, T120, T130, T140,
T150
T20, T30, T40, T50, T60, T70, T80,
T90, T110, T120, T140, T150
T20, T40, T60, T80, T110, T130,
T140, T150
As the minimum support specified by the user is 5 all
the 1-itemset are frequent and now consider Table 3 in
order to calculate the 2-candiadate itemset first then
pruning based on the support gives us the 2-frequent
itemset without scanning the databases again and
again which reduces the number of database scan’s
required in order to calculate the frequent item sets and
this process is continued until the no of frequent n-
item-sets become zero. This optimization reduces the
number of database scans which also reduces the
amount of time required to calculate the frequent item
sets and correspondingly reduces the amount of space
required in order to find the frequent item sets and their
by improves the efficiency of the algorithm.
Multithreaded apriori
Java provides built-in support for
multithreaded programming [4] . A multithreaded
program contains two or more parts that can run
concurrently. Each part of such a program is called a
thread, and each thread defines a separate path of
execution. Thus, multithreading is a specialized form
of multitasking. However, there are two distinct types
of multitasking: process- based and thread-based. It is
important to understand the difference between the
two. Process-based multitasking is the more familiar
form. A process is, in essence, a program that is
executing. Thus, process-based multitasking is the
feature that allows your computer to run two or more
programs concurrently. For example, process-based
multitasking enables you to run the Java compiler at
the same time that you are using at text editor. In
process- based multitasking, a program is the smallest
unit of code that can be dispatched by the scheduler.
In a thread based multi tasking environment, the thread
is the smallest unit of dispatchable code. This means
that a single program can perform two or more tasks
simultaneously. For instance, a text editor can format
text at the same time that it is printing, as long as these
two actions are being performed by two separate
threads. Thus, process-based multitasking deals with
the “big picture,” and thread-based multitasking
handles the details.
Multitasking threads require less overhead than
multitasking processes. Processes are heavy weight
tasks that require their own separate address spaces.
Inter process communication is expensive and limited.
Context switching from one process to another is also
costly. Threads, on the other hand, are lightweight.
They share the same address space and cooperatively
share the same heavy weight process. Inter thread
communication is inexpensive, and context switching
from one thread to the next is low cost. While Java
programs make use of process- based multitasking
environments, process-based multitasking is not under
the control of Java. However, multithreaded
multitasking is. Multithreading enables you to write
very efficient programs that make maximum use of the
CPU, because idle time can be kept to a minimum.
This is especially important for the interactive,
networked environment in which Java operates,
because idle time is common.
The Java run-time system depends on threads for
many things, and all the class libraries are designed
with multithreading in mind. In fact, Java uses threads
to enable the entire environment to be asynchronous.
This helps reduce inefficiency by preventing the waste
of CPU cycles. The value of a multithreaded
environment is best understood in contrast to its
counterpart. Single-threaded systems use an approach
called an event loop with polling. In this model, a
single thread of control runs in an infinite loop, polling
a single event queue to decide what to do next. Once
this polling mechanism returns with, say, a signal that
a network file is ready to be read, then the event loop
dispatches control to the appropriate event handler.
Until this event handler returns, nothing else can
happen in the system. This wastes CPU time. It can
also result in one part of a program dominating the
system and preventing any other events from being
processed. In general, in a singled-threaded
environment, when a thread blocks (that is, suspends
execution) because it is waiting for some resource, the
entire program stops running. The benefit of Java’s
multithreading is that the main loop/polling
mechanism is eliminated. One thread can pause
without stopping other parts of your program. For