• 5007阅读
  • 3回复

多线程不同步 [复制链接]

上一主题 下一主题
离线y383564500
 
只看楼主 倒序阅读 楼主  发表于: 2009-08-12
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
这两天我按照demo的代码
  1. /////////////////////////////////circlethread.h
  2. #ifndef CIRCLETHREAD_H
  3. #define CIRCLETHREAD_H
  4. #include <QThread>
  5. class QLabel;
  6. class QPixmap;
  7. class CircleThread : public QThread
  8. {  
  9.   Q_OBJECT
  10. public:    
  11. CircleThread(QLabel *label, QPixmap *pixmap, int y);
  12. protected:    
  13. void run();
  14. private:   
  15.  QLabel *label; 
  16.    QPixmap *pixmap; 
  17.    int y;
  18. };
  19. #endif
  20. //////////////////////////////////main.cpp
  21. CircleThread *thread1 = new CircleThread(label, &pixmap, 50);    
  22. CircleThread *thread2 = new CircleThread(label, &pixmap, 100);    
  23. CircleThread *thread3 = new CircleThread(label, &pixmap, 150);   
  24.  label->setWindowTitle("Thread Demo");    
  25. label->show();   
  26.  thread1->start();   
  27.  thread2->start();


这些代码是直接copy过来的,出来的效果就不一样了,万分火急啊!!!
 
[ 此帖被y383564500在2009-08-12 21:09重新编辑 ]
离线y383564500
只看该作者 1楼 发表于: 2009-08-12
没有人知道吗?
离线dbzhang800

只看该作者 2楼 发表于: 2009-08-12
我想可能主要还是别人不清楚你想问什么,
离线john123
只看该作者 3楼 发表于: 2009-08-13
照我的理解,不同thread本來就是交錯執行,應該是沒辦法同步,只能用技巧讓他看起來同步,等所有thread執行一次完,一同處理想要的東西,看起來就同步了.
快速回复
限100 字节
 
上一个 下一个