๋‚Œ๋‚Œ
ggim
๋‚Œ๋‚Œ
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • โ—พโ—ฝ (96)
    • ๐Ÿ’ฌPL (8)
      • ๐Ÿ’ซJava (8)
    • ๐Ÿ’พDB(Database) (2)
      • โญ•Oracle (1)
    • ๐Ÿ ๊ตญ๋น„์ง€์›ํ•™์› (76)
      • ๐Ÿ“–Java ์ˆ˜์—… (28)
      • ๐Ÿ“–DB ์ˆ˜์—… (14)
      • ๐Ÿ“–HTML ์ˆ˜์—… (5)
      • ๐Ÿ“–CSS ์ˆ˜์—… (3)
      • ๐Ÿ“–JavaScript ์ˆ˜์—… (8)
      • ๐Ÿ“–JSP ์ˆ˜์—… (13)
      • ๐Ÿ“–Spring ์ˆ˜์—… (5)
    • ๐Ÿ’ป๊ฐœ์ธ ๊ณต๋ถ€ (1)
      • ์ž๋ฐ”์˜ ์ •์„ (1)
    • ๐Ÿ’ผ (8)
      • โœ…๊ธฐ๋ณธ ์„ค์น˜ (6)
      • ๐ŸงLinux (2)
    • ๐Ÿ”ฅ๋‹ค์ง (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • Home
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
๋‚Œ๋‚Œ

ggim

[Java] ํ•™์› 230112(๋ชฉ) Thread, ์ปดํ“จํ„ฐ๊ฐ„ ๋ฐ์ดํ„ฐ ์ฃผ๊ณ  ๋ฐ›๊ธฐ
๐Ÿ ๊ตญ๋น„์ง€์›ํ•™์›/๐Ÿ“–Java ์ˆ˜์—…

[Java] ํ•™์› 230112(๋ชฉ) Thread, ์ปดํ“จํ„ฐ๊ฐ„ ๋ฐ์ดํ„ฐ ์ฃผ๊ณ  ๋ฐ›๊ธฐ

2023. 1. 18. 06:04

packet : ํŒจํ‚ท ๋ฐฉ์‹์˜ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ๊ฐ€ ์ „๋‹ฌํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ํ˜•์‹ํ™”๋œ ๋ธ”๋ก

==================================

**์ปดํ“จํ„ฐ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ธฐ

 

 - ์—ฐ๊ฒฐ : Socket
 - ๋ฐ์ดํ„ฐ ์†ก.์ˆ˜์‹  : Stream

 

1. ํฌํŠธ์—ด๊ธฐ
  ServerSocket server = new ServerSocket(50000);

2. ์„œ๋ฒ„๋กœ ์ ‘์†์„ ์‹œ๋„
  Socket client = new Socket("์„œ๋ฒ„ip", 50000);

3. ์ ‘์†์ž ์†Œ์ผ“์ด ๋“ค์–ด์˜ค๋ฉด ์ ‘์†์ž ์†Œ์ผ“์„ ๋ฐ›๋Š”๋‹ค.
  Socket socket = server.accept( );

4. (Server๋ณด๋‚ด๋Š” ์ชฝ)์†Œ์ผ“์—์„œ ์ถœ๋ ฅ์ŠคํŠธ๋ฆผ ์–ป๊ธฐ
  OutputStream os = socket.getOutputStream( );
  OutputStream์€ String์„ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋ฉ”์„œ๋“œ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— 
  DataOutputStream์„ ์—ฐ๊ฒฐํ•ด์ค˜์•ผ ํ•œ๋‹ค. (์•„๋ž˜์ฒ˜๋Ÿผ)

  DataOutputStream dos = new DataOutputStream(socket.getOutputStream( ));
  //8bit Stream์„ ์‚ฌ์šฉ ํ–ˆ๊ธฐ์— packet์€ 8bit์ด๋‹ค


    (Client๋ฐ›๋Š” ์ชฝ)์†Œ์ผ“์—์„œ ์ž…๋ ฅ์ŠคํŠธ๋ฆผ ์–ป๊ธฐ
  InputStream is = socket.getInputStream( ); ๋˜‘๊ฐ™์ด DateInputStream์œผ๋กœ ์—ฐ๊ฒฐ
  DataInputStream dis = new DataInputStream(socket.getInputStream( ));

5. (Server๋ณด๋‚ด๋Š” ์ชฝ)์ŠคํŠธ๋ฆผ์— ๋ฐ์ดํ„ฐ ์“ฐ๊ธฐ
  dos.writeUTF("ํ•œ๊ธ€");

   (Client๋ฐ›๋Š” ์ชฝ)์ŠคํŠธ๋ฆผ์— ๋ฐ์ดํ„ฐ ์ฝ๊ธฐ
  String msg = dis.readUTF( );

6. ์ŠคํŠธ๋ฆผ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชฉ์ ์ง€(Stream์ด ์–ป์–ด์ง„ ์†Œ์ผ“)๋กœ ๋ถ„์ถœ
  ์†Œ์ผ“์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๋ฉด ์—ฐ๊ฒฐ๋œ ์†Œ์ผ“์œผ๋กœ ํŒจํ‚ท์„ ์œ๋‹ค.
 
==========================

**Thread
 - ๋™์‹œ์— ์ผ์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ๋•Œ. (๋™์‹œ์— method๋ฅผ ํ˜ธ์ถœํ•ด์•ผ ํ•  ๋•Œ)
 - Multi Thread ์ง€์›.

 - ์ž‘์€ Process.

 - cpu scheduling( ์‹œ๋ถ„ํ• , ์„ ์ ํ˜• )
   ์‹œ๋ถ„ํ•  ( time sharing ) - OS์—์„œ ์‚ฌ์šฉ, ํ”„๋กœ์„ธ์Šค ์ด์™ธ์— ์ž‘์—…๊ด€๋ฆฌ์ž ํ•„์š”. ์ž‘์—…๊ด€๋ฆฌ์ž๊ฐ€ ๋งค์šฐ ์ค‘์š”.


   ์„ ์ ํ˜• ( running time ) - Java์—์„œ ์‚ฌ์šฉ. ์ž‘์—…๊ด€๋ฆฌ์ž๊ฐ€ ํ•„์š” ์—†๋‹ค. ๋จผ์ € ์ƒ์„ฑ๋˜๋Š” Process๊ฐ€ ๋จผ์ € ์ฒ˜๋ฆฌ๋˜๋‹ค๊ฐ€ ์ˆœ์„œ๊ฐ€ ํ•ญ์ƒ ์„ž์ธ๋‹ค.

 - Thread๋Š” ์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค ์ˆœ์„œ๊ฐ€ ๋‹ฌ๋ผ์ง„๋‹ค.
 - ์ข…๋ฃŒ์‹œ๊ฐ„์„ ์•Œ ์ˆ˜ ์—†๋‹ค.

 

 

**Thread ์‚ฌ์šฉ ๋ฐฉ๋ฒ• 2๊ฐ€์ง€


* ์ƒ์†
  1. Thread๋ฅผ ์ƒ์†๋ฐ›๋Š”๋‹ค.
      public class Test extends Thread{

  2. run method override
   
    public void run(){
     3. ๋™์‹œ์— ์‹คํ–‰๋˜์–ด์•ผ ํ•  ์ฝ”๋“œ ์ž‘์„ฑ.
    }

  4. ๊ฐ์ฒด์ƒ์„ฑ
     ํด๋ž˜์Šค๋ช… ๊ฐ์ฒด๋ช… = new ์ƒ์„ฑ์ž( );
       Test            t      = new Test( );

  5. start( )๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ run( )๊ฐ€ ๋™์‹œ์— ๋™์ž‘ํ•˜๋„๋ก ํ•œ๋‹ค.
     t.start( );

 

===================================



 *Runnable ๊ตฌํ˜„
 1. Runnable interface๋ฅผ ๊ตฌํ˜„)
   public class Test implements Runnable{

 //2. abstract method override
   public void run(){
    //3.Thread๋กœ ๋™์ž‘ํ•ด์•ผ ํ•  ์ฝ”๋“œ
  }

//4. ํด๋ž˜์Šค ๊ฐ์ฒดํ™”
   Test t = new Test( );

//5. Runnable ๊ตฌํ˜„ํ•œ ๊ฐ์ฒดํ™” has a ๋กœ Threadํด๋ž˜์Šค๋ฅผ ๊ฐ์ฒดํ™” ํ•œ๋‹ค.
   Thread th = new Thread( t );
   
//6. Threadํด๋ž˜์Šค์˜ start ํ˜ธ์ถœ. ( has a ๊ด€๊ณ„์˜ ๊ฐ์ฒด๊ฐ€ ๊ตฌํ˜„ํ•œ run( )๊ฐ€ ํ˜ธ์ถœ)
   th.start( );

์ƒ์†์€ ๋‹จ์ผ์ƒ์†๋ฐ–์— ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, ๊ตฌํ˜„์„ ๋” ๋งŽ์ด ํ•œ๋‹ค.

'๐Ÿ ๊ตญ๋น„์ง€์›ํ•™์› > ๐Ÿ“–Java ์ˆ˜์—…' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Java] ํ•™์› 230111(์ˆ˜) Network Programming, OSI 7Layer Reference Mode, TCP, UDP, ์†Œ์ผ“ํ†ต์‹   (1) 2023.01.18
[Java] ํ•™์› 230110(ํ™”) ์ถœ๋ ฅ Stream, instance ์“ฐ๊ธฐ / ์ฝ๊ธฐ, transient ์ง๋ ฌํ™” ๋ฐฉ์ง€ ํ‚ค์›Œ๋“œ  (0) 2023.01.18
[Java] ํ•™์› 230109(์›”) Stream ์—ฐ๊ฒฐ, ํŒŒ์ผํด๋ž˜์Šค, 16bit Stream์œผ๋กœ ํŒŒ์ผ ์ฝ๊ธฐ, 8bit Stream๊ณผ 16bit Stream์œผ๋กœ ํŒŒ์ผ ์ฝ๊ธฐ  (0) 2023.01.18
[Java] ํ•™์› 230106(๊ธˆ) throws, throw, IO(input / Output) Stream  (0) 2023.01.18
[Java] ํ•™์› 230105(๋ชฉ) Font, Exception Handling, ์˜ˆ์™ธ์ฒ˜๋ฆฌ  (0) 2023.01.17
    '๐Ÿ ๊ตญ๋น„์ง€์›ํ•™์›/๐Ÿ“–Java ์ˆ˜์—…' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [Java] ํ•™์› 230111(์ˆ˜) Network Programming, OSI 7Layer Reference Mode, TCP, UDP, ์†Œ์ผ“ํ†ต์‹ 
    • [Java] ํ•™์› 230110(ํ™”) ์ถœ๋ ฅ Stream, instance ์“ฐ๊ธฐ / ์ฝ๊ธฐ, transient ์ง๋ ฌํ™” ๋ฐฉ์ง€ ํ‚ค์›Œ๋“œ
    • [Java] ํ•™์› 230109(์›”) Stream ์—ฐ๊ฒฐ, ํŒŒ์ผํด๋ž˜์Šค, 16bit Stream์œผ๋กœ ํŒŒ์ผ ์ฝ๊ธฐ, 8bit Stream๊ณผ 16bit Stream์œผ๋กœ ํŒŒ์ผ ์ฝ๊ธฐ
    • [Java] ํ•™์› 230106(๊ธˆ) throws, throw, IO(input / Output) Stream
    ๋‚Œ๋‚Œ
    ๋‚Œ๋‚Œ
    zzZ zzZ zzZzz

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”