전체 글 (229) 썸네일형 리스트형 [스레드] 2. 작업 스레드 생성과 실행 - 1 몇 개의 작업을 병렬로 실행할지 결정 메인작업: 메인스레드(프로그램 시작) 작업1: 스레드1(네트워킹) 작업2: 스레드2(드로잉) 작업 스레드 생성방법 -> Thread 클래스로부터 직접 생성 -> Thread 하위 클래스로부터 생성 Thread 클래스로부터 직접 생성 class Task implements Runnable { @Override public void run() { // 스레드가 실행할 코드; } } 위 작업을 실행하는 방법1) Runnable task = new Task(); Thread thread = new Thread(task); thread.start(); // 작업실행 방법2) Thread thread = new Thread(new Runnable() { @Override pub.. [스레드] 1. 멀티 스레드 개념 프로세스 -> 실행 중인 하나의 프로그램 멀티태스킹 -> 두 가지 이상의 작업을 동시에 처리하는 것 -> 멀티 프로세스 : 독립적으로 프로그램들을 실행하고 여러 가지 작업 처리 -> 멀티 스레드: 한 개의 프로그램을 실행하고 내부적으로 여러 가지 작업 처리 메인 스레드 -> 모든 자바 프로그램은 메인 스레드가 main() 메소드를 실행하면서 시작된다. -> main() 메소드의 첫 코드부터 아래로 순차적으로 실행한다. -> main() 메소드의 마지막 코드를 실행하거나, return 문을 만나면 실행이 종료된다. -> main 스레드는 작업 스레들을 만들어서 병렬로 코드들을 실행할 수 있다. 즉 멀티 스레드를 생성해서 멀티 태스킹을 실행한다. -> 프로세스의 종료 * 싱글 스레드: 메인 스레드가 종료하면.. 스칼라 기본(5) 스칼라의 목적은 프로그래머들이 함수형 스타일과 명령형 스타일의 장점을 모두 취할 수 있게 돕는 것이다. 이를 위해 스칼라 컬렉션 라이브러리에서 변경 가능한 컬렉션과 변경 불가능한 컬렉션을 구분해둔 곳이 있다. 예를 들어, 배열은 항상 변경 가능하지만 리스트는 항상 변경 불가능하다. 하지만 집합이나 맵에 대해서는 변경 가능한 것과 변경 불가능한 것을 모두 제공한다. 다만, 두 버전 모두 동일한 간단한 이름을 사용한다. 집합이나 맵 모두 스칼라에서는 클래스 계층 안에서 변경 가능성을 모델링한다. 집합 스칼라에는 집합을 위한 기반 트레이트(trait)가 있다. 그리고 이것을 상속하는 두개의 서브트레이트가 있는데, 하나는 변경가능한 집합, 다른 하나는 변경 불가능한 집합을 위한 것이다. scala.collect.. 이전 1 ··· 16 17 18 19 20 21 22 ··· 77 다음