본문 바로가기

자바 DB 연동/쓰레드

TimerTask package com.test0614; import java.util.Calendar;import java.util.Timer;import java.util.TimerTask; class Demo12{public Demo12(){// TimerTask : 타이머에 의해 한번 또는 여러번 반복하도록 테스크 되는 스케줄TimerTask task=new TimerTask() {@Overridepublic void run() {Calendar cal=Calendar.getInstance();String s=String.format("%tF %tT", cal, cal);System.out.println(s);}};Timer t=new Timer();//현재시간부터 3초에 한번씩 실행t.schedule(task, .. 더보기
쓰레드를 이용한 간단한 출금 package com.test0614; class Demo11 implements Runnable{private int bank=10000;public void drawMoney(int m){if(bank >= m) {bank -= m;System.out.println("현재 스레드 :" + Thread.currentThread().getName()+":" + "잔액:" + bank);}else if(bank==0){System.out.println("현재 스레드 :" + Thread.currentThread().getName()+":" + "잔액이 부족합니다");}}@Overridepublic void run() {synchronized (this) { // 현 객체 동기화for(int i=1; i 더보기
쓰레드 interrupt / isAlive package com.test0614; class Demo10 extends Thread {private Thread next;public void setNext(Thread next) {this.next=next;}public void run(){for(int i=1; i 더보기
데몬스레드 class Demo9 extends Thread{public void run() {for(int i=1; i 더보기
쓰레드 synchronized(동시에 일하는 것을 막는다) package com.test0614; class Demo8 implements Runnable {private int bank=1000;public int getMoney(){return bank;}private int drawMoney(int m){bank -= m;return m;}public void run(){int need=600;int m;String msg;try{synchronized (this) { // 동기화 - 동시에 일을 못하게 한다.if(getMoney()>=need){Thread.yield(); //다른 스레드에게 양보 //t1과 t2가 동시에 들어왔는데 t1이 양보하게된다. t2도 와서 양보하여 t1이 23번줄 실행하고 t2도 23번줄을 실행하게 된다.// synchroniz.. 더보기
실시간으로 시간 보기 package com.test0614; import java.awt.BorderLayout;import java.awt.Frame;import java.awt.TextArea;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.util.Calendar; public class Test7 extends Frame implements Runnable {private TextArea ta=new TextArea();public Test7(){addWindowListener(new WindowAdapter() {@Overridepublic void windowClosing(WindowEvent e) {System.ex.. 더보기
자바 쓰레드 package com.test0614; // 스레드 : 작업스케줄에 의해 CPU 시간을 할당 받아 일을 할 수 있는 가장 작은 단위. 즉 자바 VM에 의해 호출 되어짐// 일반 메소드 : 프로그래머에 의해 호출// main 메소드 : 프로그램 시작점 // 스레드 작성 첫번째 방법// 1. Thread 클래스를 상속 받는 클래스를 만든다.// 2. public void run() {} 메소드를 정의 한다.// 3. Thread 클래스를 상속받는 클래스의 객체를 생성한다.// 4. start() 메소드로 스레드를 시작한다. class Demo6 extends Thread {public void run() {for(int i=1; i 구현클래스에 public void run(){}을 재정의 한다.// 2.Ru.. 더보기