Computer Notes, Programming codes, Hardware and Networking Tip, Entertainment, Biography, Internet Tip, Tech News, Latest Technology, YouTube,
import java.util.Scanner; class EvenArray{ public static void main(String args[]){ Scanner in = new Scanner(System.in); int x, y; System.out.print("Enter First Number : "); x = in.nextInt(); System.out.print("Enter Second Number : "); y = in.nextInt(); for(int i=x; i<=y; i++){ if(i%2==0){ System.out.println(i); } } } }
The thread is a lightweight process that means one single program can be divided into small threads which will execute concurrently for fast execution of task. We can say that thread is a sub process of a process.
A thread is an independent path of execution within a program. Many thread can run concurrently within a program. Every threads in Java is created and controlled by the java.lang thread class. A java program can have many threads, and these threads can run currently, either synchronously or asynchronously.
- Threads are lightweight compared to process.
Difference between thread and process
Process | Thread |
---|---|
- A Process is an instance of a program. It contains a threads. | - Threads are the parts of process. It cannot contain a process. |
- Process run in its separate. | - Thread run in shared memory spaces. |
- Process is controlled by the operating system. | - Threads a re controlled by programmer in a program. |
- Processes are independent. | - Threads are dependent. |
- New processes require duplication of the parent process. | - New threads are easily created. |
- Process require more time for context switching as they are more heavy. | - Threads require less time for context switching as they are lighter then process. |
- Process require more resources then threads. | - Threads generally need less resources than process. |
- Process require more time for termination. | - Threads require less time for termination. |
Life cycle of threads
New
The thread is in new state if you create an instance of thread class but before the invocation of start() method.
Runnable
A thread in the runnable state is executing the Java virtual machine but it may be waiting for other resources from the operating system such as processor.
Running
The thread is in running state if the thread scheduler has selected it.
Blocked (Non Runnable)
It is the state when the thread is still alive, but is currently not eligible to run.
Terminated
A thread is in terminated or dead state when its run() method exists.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
class Student extends JFrame implements ActionListener
{
JLabel sid,sname,slevel;
JTextField tid,tname, tlevel;
JButton insert, clear;
JPanel p1,p2,p3,p4;
Student()
{
setSize(400,250);
setTitle("Students Data Entry");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
p1=new JPanel();
p2=new JPanel();
p3=new JPanel();
p4=new JPanel();
setLayout(new BorderLayout());
add(p1,BorderLayout.CENTER);
add(p2,BorderLayout.SOUTH);
p1.setLayout(new GridLayout(1,2));
p1.add(p3);
p1.add(p4);
p3.setLayout(new FlowLayout(FlowLayout.LEFT, 75,20));
p4.setLayout(new FlowLayout(FlowLayout.LEFT, 25,20));
sid=new JLabel("Student ID");
sname=new JLabel("Student Name");
slevel=new JLabel("Level");
p3.add(sid);
p3.add(sname);
p3.add(slevel);
tid=new JTextField(10);
tname=new JTextField(10);
tlevel=new JTextField(10);
p4.add(tid);
p4.add(tname);
p4.add(tlevel);
p2.setLayout(new FlowLayout(FlowLayout.CENTER, 20,20));
insert=new JButton("Insert");
clear=new JButton("Clear");
p2.add(insert);
p2.add(clear);
insert.addActionListener(this);
clear.addActionListener(this);
setVisible(true);
}
public void actionPerformed(ActionEvent ae)
{
Connection c=null;
Statement s=null;
try
{
Class.forName("com.mysql.jdbc.Driver");
c = DriverManager.getConnection("jdbc:mysql://localhost/mydb","root", "raj");
s=c.createStatement();
if(ae.getSource()==insert)
{
int id;
String name, level;
id=Integer.parseInt(tid.getText());
name=tname.getText();
level=tlevel.getText();
String query="insert into studentdb values("+id+",'"+name+"',"+level+")";
s.executeUpdate(query);
JOptionPane.showMessageDialog(this,"Data is Recorded!!!!");
}
if(ae.getSource()==clear)
{
tid.setText("");
tname.setText("");
tlevel.setText("");
}
}
catch(Exception e)
{
System.out.println(e);
}
}
public static void main(String a[])
{
new Student();
}
}
SISD Uni-Processor Architecture |
SIMD Architecture (With Distributed Memory) |
MISD Architecture (The systolic Array) |
MIMD Architecture (With shared Memory) |