Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Linuxϵ÷ÓÃpthread¿âʵÏÖ¼òµ¥Ï̳߳Ø

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <pthread.h>
#include <assert.h>
void * routine(void * arg);
int pool_add_job(void *(*process)(void * arg),void *arg);
int pool_init(unsigned int thread_num);
int pool_destroy(void);
void *test(void *);
/* We define a queue of jobs which will be processed in thread pool*/
typedef struct job{
void * (*process)(void *arg); /* process() will employed on job*/
void *arg;/* argument to process */
struct job * next;
}Job;
/*
* A threadpool must have the following parts:
* threads: a list of threads
* jobs : jobs in thread pool
* pool_lock: pthread_mutex_lock for thread pool
* job_ready: pthread_cond_t for job ready
* destroy: flag indicate whether the pool shall be destroyed
* size: current size of jobs list
* thread_num: max thread num initialized in pool
*/
typedef struct thread_pool{
pthread_mutex_t pool_lock;
pthread_cond_t job_ready;
Job * jobs;
int destroy;
pthread_t * threads;
unsigned int thread_num;
int size;
}Thread_pool;
/* global Thread_pool variable*/
static Thread_pool * pool=NULL;
/*Initialize the thread pool*/
int pool_init(unsigned int thread_num)
{
pool=(Thread_pool *)malloc(sizeof(Thread_pool));
if(NULL==pool)
return -1;
pthread_mutex_init(&(pool->pool_lock),NULL);
pthread_cond_init(&(pool->job_ready),NULL);
pool->jobs=NULL;
pool->thread_num=thread_num;
pool->size=0;
pool->destroy=0;
pool->threads=(pthread_t *)malloc(thread_num * sizeof(pthread_t));

int i;
for(i=0;i<thread_num;i++){
pthread_create(&(pool->threads[i]),NULL,routine,NULL);
}
return 0;
}
/*
* Add job into the pool
* assign it to some thread
*/
int pool_add_job(void *(*process)(void *),void *arg)
{
Job * newjob=(Job *)malloc(sizeof(Job));
newjob->process=process;
newjob->arg=arg;
newjob->next=NUL


Ïà¹ØÎĵµ£º

linuxÏÂmysqlµÄʹÓÃ


Æô¶¯mysql:  /etc/rc.d/init.d/mysql start
ÐÞ¸ÄÃÜÂë: ¸ñʽ£ºmysqladmin -uÓû§Ãû -p¾ÉÃÜÂë password ÐÂÃÜÂë
ʹÓÃÃÜÂëµÇ¼:  mysql -u root -p
ÏÔʾÊý¾Ý¿â:  show databases;
Ñ¡ÔñÊý¾Ý¿â:  use Êý¾Ý¿âÃû;
ÏÔʾ±í:  show tables;
ÏÔʾ±í½á¹¹:  descibe ±íÃû;
Ô¶³ÌµÇ¼mysqlÐèÒª¿ªÆôÈ ......

Linux ƽ̨Ï MYSQL°²×° Æô¶¯ mysqlÃüÁî

MYSQL°²×°
//½âѹ±àÒë°²×°
# tar xzvf mysql-5.0.27.tar.gz
# cd mysql-5.0.27
# ./configure -prefix=/home/redadmin/mysql
# make
# make install
# cd /home/redadmin/mysql/
# cp share/mysql/my-medium.cnf ./
# mv my-medium.cnf my.cnf
// my.confÎļþÐÞ¸Ä
# vi my.cnf
ÐÞ¸Äǰ£º
port  &nb ......

linuxÖеĹÅÀÏËõÂÔÓï

ÎÞÒâÖп´µ½ÁËһƪzz  
http://hi.baidu.com/lyricidyll/blog/item/54e8f9a9c35bb8bbca130c7c.html
ÍÚLinuxÖеĹÅÀÏËõÂÔÓï
UnixÒѾ­ÓÐ35ÄêÀúÊ·ÁË¡£Ðí¶àÈËÈÏΪËü¿ªÊ¼ÓÚÖÐÊÀ¼Í£¬Õâ¸öÖÐÊÀ¼ÍÊÇÏà¶ÔÓÚ¼ÆËã»ú¼¼ÊõµÄ²úÉúºÍ·¢Õ¹À´ËµµÄ¡£ÔÚ¹ýÈ¥µÄʱ¼äÀUnixºÍËüµÄ×Ó·ÖÖ§
LinuxÊÕ¼¯ÓÐÐí¶àµÄÀúÊ·ºÍһЩÍêÈ«¹ÅÀϵÄÓïÑÔ¡£ ......

linux ÐÞ¸ÄÓû§ÃÜÂë+·Ç½»»¥ÉèÖÃÃÜÂë

Ð޸ı¾µØÓû§ÃÜÂ룺
1¡¢½»»¥ÅäÖñ¾µØÓû§£º
ÒÔrootÓû§£º
passwd <username>
Changing passWord
for user dewang.
New UNIX passWord
:
BAD PASSWord
: it is too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
ÒÔ·ÇrootÓû§ÐÞ¸Ä×Ô¼ºµÄÃÜÂ루עºóÃæ²»Äܸ ......

³£ÓõÄlinuxÃüÁî

²é¿´°²×°µÄϵͳÐÅÏ¢£º
   ¼òµ¥µÄÐÅÏ¢£ºuname -a
   ÏêϸµÄÐÅÏ¢£ºcat /proc/version
     cat /etc/issue
     lsb_release -a
GentooÉϰ²×°mysql£¬Ö±½ÓÔËÐУº
  (1) bigner
@localhost
 / $ sudo emerge mysql
  ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ