본문 바로가기

Programming66

[python] thread mangement 파이썬에서 여러개의 쓰레드를 만질때 Thread안에서 새로운 Thread를 돌리면 부모쓰레드의 특정 지점에서 자식쓰레드를 만들고, 자식쓰레드가 도는 동안 부모 쓰레드는 진행되지 않는다. 그래서 당연히 이렇게 하면 안된다. Thread는 똑같은 부모수준에서 만들어 놓고 순서는 locking방법을 이용해서 해야한다. https://docs.python.org/2/library/threading.html http://www.laurentluce.com/posts/python-threads-synchronization-locks-rlocks-semaphores-conditions-events-and-queues/comment-page-1/ 두번째 링크에 개념과 예제가 잘 설명 되어있다. 난 semaphore 사.. 2014. 6. 27.
check the file is used by another process or not [windows] #include #include "windows.h" #include #include #include using namespace std; class File_locker { HANDLE file_handle; static const int MAX_TRIES = 10; static const int SLEEP_INTERVAL = 500; public: File_locker(std::string filename) { // you can use GetLastError() to determine why the open failed, // but this is a demo, not production code for (int i = 0; i < MAX_TRIES; ++i) { file_handle = ::Cre.. 2014. 3. 13.
MATLAB에서 socket 통신 MATLAB에서 C처럼 이벤트 방식의 고급소켓통신하기는 힘들다. 제공하는 tcpip 라이브러리도 매우 기초적인 수준이기 때문에 많은것을 기대 해선 안된다. 그래서 보통 기본만 하는 소켓통신을 하게 되는데 소켓통신라이브러리는 pnet이라는것을 다운 받아 사용하는것을 추천한다. http://www.mathworks.com/matlabcentral/fileexchange/345-tcpudpip-toolbox-2-0-6비동기방식의 서버 구현을 matlab에서 하기는 상당히 에로사항이 있는것 같다. 여기서는 Client 부분만 소개한다. 1) socket connectip = '127.0.0.1';port =9999; >> socket = pnet('tcpconnect',ip,port) 만들어진 socket id.. 2014. 2. 27.
[python] python 의 변수들 파이썬은 C 와는 다르게 기본적으로 변수가 가르키는 것은 모두 reference개념이다. 포인터의 개념과 같다. 즉A = [ 1 2 3 ]B = AC = A B[0] = 4 이렇게 하면 A[0]과 C[0]도 모두 4로 바뀌게 된다. A, B, C 는 모두 같은 변수를 가르키는 주소이다. 같은 메모리를 가르키고 있는지 확인하는 python명령어인 is 를 사용해서 확인해 볼수 있다. A is BA is CB is C모두 True가 반환된다. 그러면 A와 B가 같은 내용을 담고 다른 메모리번지를 가르키게 하려면 어떻게 해야 할까? B = A[:] C = A[:]이렇게 해주면된다. 리스트의 전체를 가르키는 :를 사용해 줌으로서 가능하다. A의 전체내용을 B에 넣으란 뜻이다. 아니면, import copy fr.. 2014. 2. 25.