본문 바로가기

백엔드기술106

프로세스와 스레드 스레드(thread)는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. 이러한 실행 방식을 멀티스레드(multithread)라고 한다. 멀티프로세스와 멀티스레드는 양쪽 모두 여러 흐름이 동시에 진행된다는 공통점을 가지고 있다. 하지만 멀티프로세스에서 각 프로세스는 독립적으로 실행되며 각각 별개의 메모리를 차지하고 있는 것과 달리 멀티스레드는 프로세스 내의 메모리를 공유해 사용할 수 있다. 또한 프로세스 간의 전환 속도보다 스레드 간의 전환 속도가 빠르다. 멀티스레드의 다른 장점은 CPU가 여러 개일 경우에 각각의 CPU가 스레드 하나씩을 담당하는 방법으.. 2009. 12. 9.
Shuffle Array package shufflearray; import java.util.Random; /** * * @author hwang */ public class Main { public static void main(String[] args) { int[] arr = {10,20,30,50,60,20}; Random r = new Random(); int[] newArr; for(int i = 0 ; i < 10 ; ++i) { newArr = shuffleArray(r, arr); for(int n : newArr) { System.out.print(n); System.out.print(" "); } System.out.println(""); } } public static int[] shuffleArray(R.. 2009. 12. 9.
Swing Demo package java_samples_hwang; import javax.swing.*; import java.awt.event.*; import java.awt.*; /** * * @author hwang */ public class SwingDemo { JTextField txtfld ; public void createGUI() { JFrame frame = new JFrame("Hello World Swing"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container cp = frame.getContentPane(); JButton button = new JButton("push button"); txtfld = new JTextFiel.. 2009. 12. 9.
Parser Demo package java_samples_hwang; import org.w3c.dom.*; import org.w3c.dom.Document; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; /** * * @author hwang */ public class ParserDemo { public static void main(String args[]) { try { DocumentBuilderFactory docBuildFactory = DocumentBuilderFac.. 2009. 12. 9.
Override Demo package java_samples_hwang; /** * * @author hwang */ class A { public void sub() { System.out.println("Method in Class A"); } } class B extends A { //@overrided method public void sub() { super.sub(); System.out.println("Method in Class B"); } } public class OverrideDemo { public static void main(String args[]) { A aObj = new A(); B bObj = new B(); bObj.sub(); } } 2009. 12. 9.
Overload Demo package java_samples_hwang; /** *Demp program on Method overloading * @author hwang */ public class OverloadDemo { public void test() { System.out.println("Method with zero parameter"); } public void test(int a) { System.out.println("Method with 1 parameter "+a); } public void test(int a,int b) { System.out.println("Method with 2 parameters "+a+ "&"+b); } } class Overload { public void main(Stri.. 2009. 12. 9.