class Account2{
int balance = 1000;
public void withdraw(int money) {
if(balance >= money) {
try {
Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
balance = balance - money;
}
}
}
class RunnableAccount implements Runnable{
Account2 acc = new Account2();
@Override
public void run() {
//1000 700 400 100
while(acc.balance > 0) {
// 100, 200, 300중의 한 값을 임으로 선택해서 출금(withdraw)
int money = (int) (Math.random() * 3 + 1) * 100;
acc.withdraw(money);
System.out.println("::balance:" + acc.balance);
}
}
}
class ThreadEx6 {
public static void main(String[] args) throws Exception
{
Runnable r = new RunnableAccount();
Thread t1 = new Thread(r,"첫번째");
Thread t2 = new Thread(r,"두번째");
t1.start();
t2.start();
서로 받았는지 확인(약속) 하는것 (예시 : 무전기 오바)
통신을 위한 컴퓨터나 통신 장비 사이에서
메세지를 주고 받는 양식과 규칙체계
데이터 교환을 원활하게 수행할수 있도록
표준화 시켜놓은 통신규약
특징 | TCP | UDP |
---|---|---|
신뢰성 | 높음 | 낮음 |
속도 | 느림 | 빠름 |
사용 예시 | 웹 브라우징, 이메일, 파일 전송 | 실시간 스트리밍, 게임, 네트워크 라우팅 |
장점 | 데이터의 정확성과 순서를 보장 | 속도가 빠름 |
단점 | 속도가 느림 | 데이터의 정확성과 순서가 보장되지 않을 수 있음 |
자바의 개발 목표는 네트워크였다
지식 : TCP, UDP, OSI 7계층
코딩 : Socket = 네트워킹 = 1~7계층 전부 포함
RFC 문서 : 미국 인터넷 표준화 규약
url을 주소를 치면 Request 요청 - > Response 응답
코드 상에서 서버는 다수를 기다리고 있는 쪽
내 컴퓨터(로컬호스트) IP : 127.0.0.1
일반 IT업계는 중간관리직(허리)이 없다
(그만두는게 10%, 나머지는 다 메이저로 가니까)
그래서 2,3년만 있으면 기회는 무조건 온다