프로그래밍98 자바 멀티 쓰레드(Thread) 동기화 예제 자바에서 멀티스레딩을 하게 되는 경우 같은 프로세스 내의 자원을 공유하여 작업하기 때문에 서로의 작업에 영향을 줄 수 있어 동기화를 해주어야한다. 스레드의 동기화의 방법은 임계영역을 지정하고 하나의 스레드만 임계영역에 접근하게 해주는 것이다. synchronized 동기화 객체 동기화 synchronized(객체 참조 변수) { ... } 메소드 동기화 synchronized void test(){ ... } 객체 동기화 예제 이전에 https://ming9mon.tistory.com/43 에서 사용했던 소스에서 synchronized만 추가해주면 된다. import java.lang.Thread; class Sum{ int num=0; int sum(){ for(int i=0;i 2019. 3. 5. 자바 쓰레드(Thread) 쓰레드란? 스레드란 실행 단위다. main() 메소드를 만들면 main() 메소드룰 실행하는 하나의 스레드가 생긴다. 스레드를 사용하게 되면 보다 빠른 처리가 가능하다. 하나의 응용프로그램을 여러 개의 스레드로 구성하면 스레드 사이의 문맥 교환 시 작업량이 작고 시간이 짧은 장점을 가진다. 인터넷 브라우저로 예를 들면 멀티 스레딩을 통해 검색을 하며 인쇄도 할 수 있고, 인터넷으로 영화도 볼 수 있다. 만약 인터넷 브라우저가 싱글 스레드로 구성되어 있다면 검색을 하는중에는 영화는 볼 수 없으며 인쇄도 할 수 없다. Thread의 상태 NEW : 스레드가 객체가 생성됨, 아직 실행되지 않은 상태 RUNNABLE : 스레드가 실행되기 위한 준비단계 WAITING : 다른 스레드가 통지할 때까지 기다리는 상태.. 2019. 3. 1. 자바 파일 입출력 과 입출력 스트림 자바에는 바이트 스트림과 문자 스트림이 존재한다. 바이트 스트림 바이트 스트림은 입출력되는 바이트의 바이너리 값을 있는 그대로 처리한다. 그러므로 스트림에 들어오는 데이터가 문자이든 단순 바이너리 정보이든 상관없이 처리할 수 있다. 문자는 물론 이미지나 오디오 같은 파일도 읽을 수 있다. [ 바이트 스트림 계층 구조 ] 바이트 스트림 파일 읽고 쓰기 예제 import java.io.IOException; import java.io.FileInputStream; import java.io.FileOutputStream; public class test{ public static void main(String[] args) { try { FileOutputStream out = new FileOutputSt.. 2019. 2. 27. 자바 Jsoup를 이용한 웹 크롤링 예제 크롤링 라이브러리 Jsoup 크롤링을 위한 라이브러리는 많지만 그 중 Jsoup를 이용한 크롤링을 소개하고자 한다. Jsoup이란 자바로 만들어진 HTML parser다. Jsoup는 DOM 구조를 추적하거나 CSS 선택자를 사용하여 데이터를 찾아 추출할 수 있다. Jsoup 라이브러리 추가 https://jsoup.org/download 에 접속하여 jsoup-?.??.?.jar 파일을 다운받아 준다. 해당 프로젝트 우클릭 -> Properties -> Java Build Path -> Add External JARs -> 다운받은 Jar파일 추가 Jsoup을 이용한 크롤링 예제 CGV를 크롤링하여 원하는 값만 가져오는 예제를 만들것이다. CGV 홈페이지에서 순위와 영화이름을 가져와 보자. import.. 2019. 2. 25. 이전 1 ··· 19 20 21 22 23 24 25 다음