Thread Programming

PythonでThreadを使うメモ.GPIB経由で取得したデータをテキストファイルに書きこみ, Gnuplotでグラフを表示させる処理をしているのですが, 装置を1日,2日と動かすに従ってデータファイルが数十MBに脹れあがってしまい, Gnuplotの処理が極端に遅くなります. そこでThreadモジュールを使って, Gnuplotとデータ計測・制御の部分を並列処理させることにしました.パフォーマンスは大幅に改善されています.


#! /usr/bin/env python
import thread
from time import *
n = 0
def func1() :
global n
while 1 :
n += 1
now = strftime('%Y/%m/%d %H:%M:%S')
print "func1 runs every 1 sec: ", now
sleep(1)
if n > 50 :
break
args = ()
thread.start_new_thread(func1, args)
N = 100;
for i in range(0,N):
now = strftime('%Y/%m/%d %H:%M:%S')
print n, now
sleep(7)