전체 글
-
[live-study] 10. 멀티쓰레드개발/Java 2021. 1. 23. 13:02
멀티쓰레드 프로그래밍 프로세스(Process)와 스레드(Thread)란 무엇인가? 스레드를 알기 전에, 프로세스를 먼저 알아야 한다. 프로세스는 운영체제에서 실행중인 (보통)하나의 응용 프로그램 단위를 말한다. 하나의 응용 프로그램을 실행하면 운영체제로부터 그에 필요한 메모리를 할당받아 독립적인 공간을 가지고 있다. 스레드는 프로세스가 가지는 작은 프로세스이자 하나의 실행 환경이라고 볼 수 있다. 프로세스는 최소 하나의 스레드를 가지며, 자원을 공유한다. (메신저에서 파일을 보내는 것, 메세지를 보내는 것 각각이 스레드라고 볼 수 있다.) 프로세스 내부에서 이러한 스레드가 여러개 존재하면 멀티 스레드이다. Main 쓰레드 우리가 자바 애플리케이션을 실행시키면 가장 먼저 main() 메소드를 실행시킨다. ..
-
투 포인터 알고리즘알고리즘/알고리즘 2021. 1. 20. 18:13
시간이 없어 상당히 날림으로 썼으며, 생각나면 수정할 예정 programmers.co.kr/learn/courses/30/lessons/67258 투 포인터 알고리즘 배열에 시작점/끝점 포인터를 설정하고 포인터들을 이동시켜가면서 부분 배열을 비교하며 원하는 결과를 도출한다. 백준2003 - 수들의 합2 문제 (www.acmicpc.net/problem/2003) N개의 수로 이루어진 수열 A에서 A[i]~A[j]의 합이 M이 되는 모든 경우의 수를 구하는 문제다. 즉 부분 수열이 M이 되는 모든 경우의 수를 구하는 것이다. 가장 쉽게 생각할 수 있는 것은 3중 for문을 사용하는 것이다. 모든 수열의 크기에 대해 시작점을 바꿔가며 전부 선형으로 비교해보는 것이다. // 초기 입력 int n = scann..