Nami 의 공부방 139

디스패처 오브젝트 중 이벤트 오브젝트

앞절에서 말한 디스패처 오브젝트 중에는 이벤트 , 뮤텍스, 세마포어 등이 있습니다 . 우선 이벤트 오브젝트 부터 알아 볼건데요 ㅎㅎ 이벤트 오브젝트는 여러 스레드들 사이에서 코드 실행의 동기화를 위해 사용되는데요 이게 무슨말이냐면요 예를 들어보겠습니다 스레는 A는 드라이버에서 사용할 데이터를 생성하고 그 데이터를 현재 사용하고 있습니다 . 스레드 B는 스레드 A가 사용중인 데이터를 사용하기 위해 데이터를 사용할수 있을때를 기달리는데요 스레드 A가 데이터의 사용을 끝났을때 이벤트 오브젝트를 사용하여 스레드 B에 데이터를 사용할수 있도록 알려준다고 하네요 ^^ 이벤트 오브젝트는 통지 이벤트 오브젝트 와 동기화 이벤트 오브젝트가 있는데요 1. 통지 이벤트 오브젝트는 자동으로 Non-Signaled 상태로 다시..

디스패처 오브젝트 !!

디스패처 오브젝트의 기본적인 속성은 Signaled 와 Non-Signaled 상태 중 하나를 가진다 Signaled 상태는 디스패처 오브젝트가 보호 하고 있는 데이터를 사용하는 스레드가 하나도 없으며 코드 의 임계 영역에 있는 디른 스레드 역시 하나도 없는 상태를 말한다. Non - Signaled 상태는 디스패처 오브젝트가 보호 하고 있는 데이터를 사용하고 , 코드 임계 영역에서 실행되고 있는 스레드가 있다는것을 말한다. 또한 드라이버는 디스패처 오브젝트를 사용하기 위해서는 페이징이 불가능한 영역에 오브젝트 변수를 선언해야 한다고 하네요 ㅎㅎ 하나의 스레드가 공유된 데이터를 사용할 필요가 있다면 KeWaitforSingleObject() 함수 와 KeWaitForMultipleObject(), KeW..

파이썬 튜플 과 세트 ~~~!!!

튜플은 리스트와 사용 방법은 같습니다 ^^ 리스트는 [] 를 사용하는 반면에 튜플은 ()을 사용합니다. 차이점으로는 튜플은 값을 변화 시킬수 없다고 하네요 ㅎㅎ 제 짧은 생각이지만 튜플은 출력만 나타내고 리스트로 값을 수정하면 되겠다라는 생각이 듭니다 ㅎㅎ string = (1,); print(string[0]); string1 = (2); # print(string1[0]); 튜플에서는 한개 요소만 삽입하고 싶을때에는 뒤에 , 를 붙여야 한다 ------------------------------------------------------------------------------------------ 세트는 수학 시간에 배운 집합과 동일합니다 ^^ 리스트와 튜플과 달리 {}를 사용합니다 string ..

Soft Ware/python 2012.02.18

파이썬 리스트 &슬라이싱 사용하기

# -*- coding: utf-8 -*- a = [1,2,3,['a','b','c'],4,5]; print(a[2:5]); print(a[3][:3]); a1 = [1,2,3]; b = [4,5,6]; print((a1+b)*2); a1[0] = 4; print(a1); a1.sort(key=None, reverse=True); print(a1); string = "string"; #string[0] = 'a'; // 문자열은 인덱싱을 이용해서 값을 교환시 오류 발생 print(string); a2 = [1,2,3,4]; a2[1:2] = ['a','b','c']; #슬라이싱은 1부터 2사이에 값을 넣어주라는 뜻이다 print(a2); a3 = [1,2,3,4]; a3[1:3] = [[1,2,3,4,]..

Soft Ware/python 2012.02.18

파이썬 리스트의 인덱싱 사용하기 ^^

# -*- coding: utf-8 -*- print(ord('s')); print(chr(115)); color = ["red","green","gold"]; color.append("blue"); # 뒤에 추가 하기 print(color[3]); color.insert(0,"white"); # 원하는 자리에 추가 하기 print(color[0]); color.extend(["a","v"]); #한개 이상 추가 하고 싶을때 추가된 내용은 뒤에서 부터 추가 된다 print(color[5],color[6]); print(color.count("green")); # green에 대한 개수 를 반환 color += ["blue"]; # 더하기 연산자 사용시 인덱싱을 사용해야 문자열이 저장된다 print(col..

Soft Ware/python 2012.02.18

(2) 문자 와 문자열

string = "py" string1 = "thon" print(string+string1) string2 = 'Love' print(string2 * 2) 출력문 : python LoveLove 문자열에 대한 연산자를 몇가지 지원하는데 + 하면 문자열이 붙고 * 2 하면 2번 문자열을 반복 출력한다 string = "py" string1 = "thon" string2 = 'Love' print(string[0]) print(string2[0:4]) 출력문 : p Love 이렇게 C/C++ 배열처럼 사용할수 있으나 다른점은 대입 연산자 좌변쪽에는 올수 없다 즉 string[0] = 'a' 가 안된다는 말이다 . string2[0:4] 같은 경우는 문자열 0 부터 4번까지 출력하라는말이다 string =..

Soft Ware/python 2012.02.17

(1) 파이썬 문자와 문자열 쓰기

string = "Test" string1 = 'a' print(string) print(string1) 출력문 : Test a 파이썬은 문자를 " " 이나 ' ' 을 사용하면 된다구 하네요 ㅎㅎ 따로 문자가 없네요 ㅎㅎ 파이썬 처음이라서 그러나 쉽네요 ^^ ㅋㅋㅋ 파이썬은 다량의문자열을 """ """ 지원한다고 하네요 ㅎㅎㅎ 또한 이스케이프 문자들을 이용할수 있는데요 \n ----- > 개행(줄바꿈) \t ------ > 탭 \r ------ > 캐리지 리턴 \0 ------- > 널문자 \\ ------- > '\' 문자 \' ------- > 단일 인용부호(') \" ------ > 이중 인용부호(") print("\ttest\nfirst\n\0\rtest1") print('last\rmember'..

Soft Ware/python 2012.02.17

파이썬 2진수 8진수 16진수 사용하기

friend = 0o10 Friend = 0x10 Friend2 = 0b10 print(friend,Friend,Friend2) 파이썬은 0o하면 8진수로 인식하고 0x하면 16진수 0b 하면 2진수로 인식한다. 그리고 파이썬은 c/c++ 처럼 ;를 안붙인다 ㅎㅎㅎ 또한 정수로 초기화 해주면 정수로 인식하고 실수로 초기화 해주면 실수로 인식한다 ㅎㅎ 파이썬 재미있네~~ ㅋㅋㅋ print(hex(38)) print(oct(38)) 처음 같은 경우에는 16진수로 입력 받은것을 출력하는것이고 두번째 경우에는 8진수로 입력받은것을 출력하는 내용이다 ㅎㅎ 출력문 : 0x26 0o46 0b100110 ----------------------------------------------------------------..

Soft Ware/python 2012.02.17