linux boost¶àÏß³ÌÌØÐÔ Ïß³Ì¹ÒÆðÓ뻽ÐÑ
¶ÔÓÚboostÏ߳̿⣬ÌṩÁËÏ̸߳ù¾ÝÌõ¼þ½øÐÐ¹ÒÆð»½ÐѵŦÄÜ¡£Ö®Ç°¿´¹ýʹÓÃlinux±ê×¼Ï߳̿â×ö¹ýµÄһЩʵÑ飬ÏëÖªµÀboostÏ߳̿âµÄÌØÐÔÊÇ·ñÒ²Ò»Ñù¡£
linuxÏ̵߳ϽÐÑ»úÖÆÓëwindowsµÄ²»Í¬¡£
ÔÚwindowsÏÂÈç¹ûÖ´ÐÐÁËÏ̻߳½ÐѲÙ×÷£¬¸Ã»½ÐѲÙ×÷»áµÈ´ýµÚÒ»¸ö¹ÒÆðµÄỊ̈߳¬µ±ÏµÍ³ÖÐÓÐÏß³Ì¹ÒÆðµÄʱºò£¬¾Í¶ÔÆä½øÐл½ÐÑ¡£ÆäÉú´æÖÜÆÚÒ»Ö±µ½ÆäÖ´ÐÐÍêÒ»´Î»½ÐÑÈÎÎñ½áÊø¡£
ÔÚlinuxÏ£¬Èç¹ûÖ´Ðл½ÐѲÙ×÷£¬¸Ã»½ÐѲÙ×÷»áÁ¢¿ÌÖ´ÐУ¬Èç¹ûϵͳÖÐûÓÐ¹ÒÆðµÄỊ̈߳¬ÄÇô¸Ã²Ù×÷¾Í»áÁ¢¿ÌÖ´ÐнáÊø£¬Èç¹ûÓÐÏß³ÌÔÚ²Ù×÷Ö´ÐнáÊøºó¹ÒÆð£¬Ôò
²»»á±»»½ÐÑ¡£»½ÐѲÙ×÷µÄÉú´æÖÜÆÚÊÇ£¬Ö´ÐвÙ×÷µÄ˲¼ä£¬ÓÐÏß³Ì¹ÒÆð¾Í»½ÐÑ£¬Ã»ÓвÙ×÷½áÊø¡£²»ÏñwindowsÄÇÑù£¬µÈ´ýµÚÒ»¸öÐèÒªµÄ»½ÐѲÙ×÷µ½´ï¡£
¾¹ý²âÊÔ£¬boostÏ߳̿âÔÚlinuxÉϵϽÐѲÙ×÷Ò²×ñ´ÓÉÏÃæµÄÌØÐÔ¡£²âÊÔ´úÂëÈçÏÂ:
²âÊÔ»·¾³:centos ubuntu
boost°æ±¾: 1.41.0
#include <stdlib.h>
#include<iostream>
#include<boost/thread/condition.hpp>
#include<boost/thread/locks.hpp>
#include<boost/thread/mutex.hpp>
#include <boost/thread/detail/thread.hpp>
#include <boost/thread/thread_time.hpp>
#include <iostream>
using namespace boost::posix_time;
using namespace std;
boost::mutex token;
boost::condition_variable num_cond;
int thread_amount = 0;
void ThreadOne()
{
boost::mutex::scoped_lock tokenlock( token );
cout << "thread one wait" << endl;
num_cond.wait( tokenlock );
cout << "thread one work" << endl;;
}
void ThreadTwo()
{
boost::mutex::scoped_lock tokenlock( token );
cout << "thread two wait" << endl;
num_cond.wait( tokenlock );
cout << "thread two work" << endl;
}
void Awoke()
{
boost::mutex::scoped_lock tokenlock( token );
cout << "awake now" << endl;
num_cond.notify_one( );
}
/*
*
*/
int main(int argc, char** argv)
{
boost::thread aw(&Awoke);
sleep(1);
boost::thread w(&ThreadOne);
boost::thread
Ïà¹ØÎĵµ£º
ÿһ¸öLinux·¢Ðа涼ÓÐ×Ô¼º×¨ÃŵŤ¾ßÈ¥¹¹½¨×Ô¶¨ÒåµÄÄÚºË. ±¾ÎÄÖ÷Òª½éÉÜÔÚUbuntuƽ̨ÉϱàÒëÄÚºË, ÈçºÎ´Ówww.kernel.org(Ò²½Ðvanilla kernel)»ñµÃ×îÐÂÇÒδ¸Ä¶¯µÄÄÚºËÔ´´úÂëÀ´¹¹½¨Ò»¸ö×Ô¶¨ÒåµÄÄÚºË, ÕâÑùÄã¿ÉÒÔʹÓÃ×Ô¼ºµÄÄں˶ø²»ÊÇ·¢ÐаæµÄÄÚºË, ÁíÍâÒ²½éÉÜÁËÈçºÎ¸øÄں˴ò²¹¶¡, ´Ó¶ø·½±ãÔö¼ÓÐµĹ¦ÄÜ.
ÏÂÃæµÄ¹¤×÷ÎÒ¶¼ÔÚUb ......
ÀûÓÃdnw¼°´®¿ÚÖÕ¶ËÏÂÔØ°²×°linuxµ½¿ª·¢°åʱ£¬ÒªÏÈÉè³ÉNor Flash Æô¶¯£¬²½ÖèÈçÏ£º
1) ¶ÔNand Flash½øÐзÖÇø
2) °²×°bootloader
3) °²×°ÄÚºËÎļþ
4) °²×°Îļþϵͳ
ÏÂÔØÍê±ÏÒªÏȰÎÏÂusb½ÓÏߣ¬Èô²»È¡ÏÂÀ´ÓпÉÄܵ¼ÖÂÔÚϵͳ¸´Î»Ê±£¬µçÄÔ»áËÀ»ú¡£ ......
//»ñÈ¥GateWay
QString GetGateWay()
{
FILE *fp;
char buf[512];
char cmd[128];
char gateway[30];
char *tmp;
strcpy(cmd, "ip route");
fp = popen(cmd, "r");
if(NULL == fp)
{
perror("popen error");
return "";
}
while(fgets(buf, sizeof(buf), fp) != NULL)
{
tmp =buf;
w ......
ÓÉÓÚ²Ù×÷ϵͳÕýÔÚ±äµÃÔ½À´Ô½¸´ÔÓ£¬ËùÒÔ¿ª»úÒýµ¼ºÍ¹Ø»úϵçµÄ¹ý³ÌÒ²Ô½À´Ô½ÖÇÄÜ»¯¡£´Ó¼òµ¥µÄDOSÏµÍ³×ªÒÆµ½Windows NTϵͳ£¬ÈËÃÇÒѾÇ×Éí¸ÐÊܵ½ÁËÕâЩ±ä»¯——ÕâÒѲ»½ö½öÊǺËÐIJÙ×÷ϵͳµÄÆô¶¯Òýµ¼ºÍ¹Ø±ÕÁË£¬»¹°üÀ¨±ØÐëҪͬʱÆô¶¯»òÕ߹رÕÏ൱ÊýÁ¿µÄ·þÎñÏîÄ¿¡£ÀàËÆÓÚ Windows NT£¬LinuxϵͳÆô¶¯¹ý³ÌÐèÒª´ò¿ªµÄ·þÎñÏîÄ ......