Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2011, 20:35   #11
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

представляешь, как запустил эту прогу, так и не остановил, уже полтора часа накрутила не отстает. Там отставание на микросекунды наверно
NiCola999 вне форума Ответить с цитированием
Старый 09.02.2011, 20:38   #12
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

да, но оно таки есть
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 09.02.2011, 21:48   #13
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

Код:
#include "stdafx.h"
#include <process.h>
#include <iostream>
#include <Windows.h>
#include <conio.h>

using namespace std;

int a[4];

void Thread( void* pParams ){
	int i, num=0;
	while ( 1 )
	{ 
		for ( i = 0; i < 5; i++ )
			a[ i ] = num;
		num++;
		Sleep(1000);
	}
}

int main()
{ 
	_beginthread( Thread, 0, NULL );
	while(!kbhit()){
		int i;
		for (i=0;i<5;i++)
			cout<<a[i]<<" ";
		cout<<endl;
		Sleep(100);
	}
}
смотрите, разбирайте, интересуйтесь, меняйте что угодно, читайте msdn - многопоточность очень интересная вещь
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Старый 09.02.2011, 21:54   #14
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

всё равно будет какой-то небольшой квант времени, в котором выполняется только один поток и часы всё равно будут отставать
NiCola999 вне форума Ответить с цитированием
Старый 09.02.2011, 22:02   #15
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

В Qt вон можно использовать QTimer, например.
Код:
#include <QtCore/QObject>
#include <QtCore/QTimer>
#include <QtCore/QTime>
#include <QDebug>

class MyClass: public QObject
{
    Q_OBJECT
public:
    MyClass(): QObject(), m_time_passed() {
        QTimer *timer = new QTimer(this);
        connect(timer, SIGNAL(timeout()), this, SLOT(onSecondElapsed()));
        timer->start(1000);
    }
private:
    QTime m_time_passed;
private slots:
    void onSecondElapsed() {
        m_time_passed.addSecs(1000);
        qDebug << m_time_seconds;
    }
};
И не надо париться о потоках.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su

Последний раз редактировалось Obey-Kun; 09.02.2011 в 22:12.
Obey-Kun вне форума Ответить с цитированием
Старый 09.02.2011, 22:09   #16
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

Код:
 timer->start(1000);
таймер это тоже поток
NiCola999 вне форума Ответить с цитированием
Старый 09.02.2011, 22:11   #17
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Нет, там это по-другому реализовано. Через Event Loop. Но какая разница-то, ведь нам об этом действительно не надо париться, оно просто работает. А как — не важно.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 09.02.2011, 22:14   #18
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

так у меня оно тоже в консоли работает) как то там внутри процессора электрончики скачут и всё работает. А как, не важно
NiCola999 вне форума Ответить с цитированием
Старый 09.02.2011, 22:18   #19
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Я ошибся. В случае QTimer, система сама будет уведомлять таймер каждые 1000 ms. Так-то.
А насчёт не париться я к тому, что в твоём случае надо париться по поводу реализации самого таймера, многопоточности и т.п. А тут просто есть объект «таймер», который придумали и отладили до нас, а мы им просто пользуемся.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su

Последний раз редактировалось Obey-Kun; 09.02.2011 в 22:20.
Obey-Kun вне форума Ответить с цитированием
Старый 09.02.2011, 23:22   #20
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

ну интересно же знать как это все примерно работает
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
синусы и ко. циклы, вроде циклы Scorch92 Паскаль, Turbo Pascal, PascalABC.NET 2 22.12.2010 19:26
Циклы oksik_777 Паскаль, Turbo Pascal, PascalABC.NET 2 19.05.2010 20:57
Циклы A_Orlov Паскаль, Turbo Pascal, PascalABC.NET 1 27.04.2010 16:42
Циклы hewlett Помощь студентам 1 23.04.2010 17:01
Циклы - вложенны циклы? tigga Microsoft Office Excel 5 19.02.2010 23:36