您的位置:首页 > 职场人生

30岁,程序员伤不起的年龄

2012-09-11 15:56 525 查看
/*
* m.cpp
*
*  Created on: 2015年1月23日
*      Author: maygolf
*/
#include <pthread.h>
#include <iostream>

#include <time.h>
#include <sys/time.h>
#include <unistd.h>

using namespace std;

int i = 0;
pthread_mutex_t mutex ;//= PTHREAD_MUTEX_INITIALIZER;

long long current_time()
{
struct timeval t_start;
//get start time
gettimeofday(&t_start, 0);
long long t = ((long long) t_start.tv_sec) * 1000 + (long long) t_start.tv_usec / 1000;
return t;
}

void* doSomeThing(void* cookie)
{
while (1)
{
if (pthread_mutex_lock(&mutex) == 0)
{
cout << "name:" << pthread_self() << " time:" << current_time() << " i:" << i << endl;
i++;
pthread_mutex_unlock(&mutex);
}
//		cout << "name:" << pthread_self() << " time:" << current_time() << " sleep" << endl;
//		sleep(1);
}
return (void*) 1;
}

int main(int argc, char **argv)
{
pthread_mutex_init(&mutex,NULL);
pthread_t thread, thread1,thread2;
cout << "name:" << pthread_self() << " time:" << current_time() << endl;
pthread_create(&thread, NULL, doSomeThing, &thread);
pthread_create(&thread1, NULL, doSomeThing, &thread1);
pthread_create(&thread1, NULL, doSomeThing, &thread2);

//	cout << "name:" << pthread_self() << " time:" << current_time() << endl;
//	int i = 0;
//	for (i = 0; i < 10; i++)
//	{
//		sleep(1);
//
//	}
//	cout << pthread_cancel(thread) << endl;

pthread_join(thread, NULL);
pthread_join(thread1, NULL);
pthread_join(thread2, NULL);
}

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: