static void SaveString(QString str, uint time, int index);
C++ (Qt)void save(){ QMutexLocker locker(&myMutex); write_to_file();}
int ia =0; int ib=0; QFile a("a"); QFile b("a"); if(a.open(QIODevice::WriteOnly)) { ia++; } if(b.open(QIODevice::WriteOnly)) { ib++; } ia++; ib++;
class mySave{public: mySave(){}; static void saveStr(QString str, QDateTime time) { QFile ("log"); ...... }};
mySave::saveStr("String", QDateTime::curentQdateTime())
C++ (Qt)class mySave{public: mySave(){}; static void saveStr(QString str, QDateTime time) { QMutexLocker locker(&MyMutex); QFile ("log"); ...... } static QMutex MyMutex;};
C++ (Qt)class MyThread : public QThread{ Q_OBJECTpublic: void doSomeWork() { doIt(); emit toLog( "I did it" ); }signals: emit toLog( const QString & line );} class Logger : public QObject{Q_OBJECTpublic slots: void writeToLog( const QString &line ) { if (file.isOpen()) file.write( QString( "%1\t%2" ).arg( QDateTime::currentDateTime().toString() ).arg( line ); }} void somewhere(){ Logger log; MyThread * thread; thread = new MyThread(); connect( thread, SIGNAL( toLog( const QString&) ), &log, SLOT( writeToLog( const QString& ) ) ); thread = new MyThread(); connect( thread, SIGNAL( toLog( const QString&) ), &log, SLOT( writeToLog( const QString& ) ) );}