ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 20240830 14일차
    카테고리 없음 2024. 8. 30. 17:37

    [자료구조]
    자료구조 시각화 참고 사이트: https://visualgo.net

    [Singly Linked List]
    addFirst : O(1)
      1) Node 생성, 값을 할당
      2) 생성한 node를 가리킨다
      3) size++
    - addLast: O(N)
    get: O(N)




    [프로세스와 스레드]
    [프로세스]
    - 실행 중인 프로그램
    - 프로세스끼리는 서로 독립적

    [스레드]
    - 하나의 실행 흐름으로 프로세스 내부에 존재
    - 하나의 프로세스는 하나 이상의 실행 흐름을 포함하기 때문에 프로세스는 적어도 하나의 스레드를 가짐

    [멀티태스킹 (Multitasking)]
    - 운영 체제가 여러 프로그램이나 작업을 동시에 실행하는 것
    - 멀티 코어 CPU라면 실제로 다수의 애플리케이션을 동시에 병렬처리, 싱글 코어 CPU라면 운영체제가 다수의 애플리케이션을 병행처리

    [멀티스레드 (Multithreading)]
    - 하나의 프로세스 내에서 여러 스레드가 동시에 실행되는 것

    [Thread.run( ) vs Thread.start( )]
    - Thread.run( ):
      * 직접 실행: run() 메서드를 호출하면, 새로운 스레드를 생성하지 않고 해당 메서드를 호출한 현재 스레드에서 실행됨. 즉, 메서드가 일반적인 자바 메서드처럼 동작함
      * 멀티스레딩 효과 없음: run() 메서드를 직접 호출하면 멀티스레딩의 장점이 없어지고, 스레드가 아닌 일반 메서드 호출처럼 동작함

    - Thread.start( ):
      * 새로운 스레드 생성: start() 메서드를 호출하면 JVM이 새로운 스레드를 생성하고, 그 스레드 내에서 run() 메서드가 호출됨
      * 병렬 실행: start()를 사용하면 새로운 스레드가 생성되어 run() 메서드가 병렬로 실행되므로, 멀티스레딩의 이점을 활용할 수 있음

Designed by Tistory.