Linux¶àÏ̱߳à³Ì»ù´¡
LinuxϵͳϵĶàÏß³Ì×ñÑPOSIXÏ߳̽ӿڣ¬³ÆÎªpthread¡£±àдLinuxϵĶàÏ̳߳ÌÐò£¬ÐèҪʹÓÃÍ·Îļþpthread.h£¬Á¬½Óʱ
ÐèҪʹÓÿâlibpthread.a¡£Ë³±ã˵һÏ£¬LinuxÏÂpthreadµÄʵÏÖÊÇͨ¹ýϵͳµ÷ÓÃclone£¨£©À´ÊµÏֵġ£clone£¨£©ÊÇLinux
ËùÌØÓеÄϵͳµ÷Óã¬ËüµÄʹÓ÷½Ê½ÀàËÆfork£¬¹ØÓÚclone£¨£©µÄÏêϸÇé¿ö£¬ÓÐÐËȤµÄ¶ÁÕß¿ÉÒÔÈ¥²é¿´ÓйØÎĵµËµÃ÷¡£ÏÂÃæÎÒÃÇչʾһ¸ö×î¼òµ¥µÄ¶àÏ̳߳ÌÐò
example1.c¡£
/* example.c*/
#include <stdio.h>
#include <pthread.h>
void thread(void)
{
int i;
for(i=0;i<3;i++)
printf("This is a pthread.\n");
}
int main(void)
{
pthread_t id;
int i,ret;
ret=pthread_create(&id,NULL,(void *) thread,NULL);
if(ret!=0)
{
printf ("Create pthread error!\n");
exit (1);
}
for(i=0;i<3;i++)
printf("This is the main process.\n");
pthread_join(id,NULL);
return (0);
}
±àÒ룺gcc -o thread1 thread1.c -lpthread
ÔËÐнá¹û
This is the main process.
This is the main process.
This is the main process.
This is a pthread.
This is a pthread.
This is a pthread.
pthread_tÔÚÍ·Îļþ/usr/include/bits/pthreadtypes.hÖж¨Ò壺
typedef unsigned long int pthread_t;
ËüÊÇÒ»¸öÏ̵߳ıêʶ·û¡£º¯Êýpthread_createÓÃÀ´´´½¨Ò»¸öỊ̈߳¬ËüµÄÔÐÍΪ£º
extern
int pthread_create __P ((pthread_t *__thread, __const pthread_attr_t
*__attr,void *(*__start_routine) (void *), void *__arg));
µÚÒ»¸ö²ÎÊýΪָÏòÏ̱߳êʶ·ûµÄÖ¸Õ룬µÚ¶þ¸ö²ÎÊýÓÃÀ´ÉèÖÃÏß³ÌÊôÐÔ£¬µÚÈý¸ö²ÎÊýÊÇÏß³ÌÔËÐк¯ÊýµÄÆðʼµØÖ·£¬×îºóÒ»¸ö²ÎÊýÊÇÔËÐк¯ÊýµÄ²ÎÊý¡£ÕâÀÎÒÃǵÄ
º¯Êýthread²»ÐèÒª²ÎÊý£¬ËùÒÔ×îºóÒ»¸ö²ÎÊýÉèΪ¿ÕÖ¸Õë¡£µÚ¶þ¸ö²ÎÊýÎÒÃÇÒ²ÉèΪ¿ÕÖ¸Õ룬ÕâÑù½«Éú³ÉĬÈÏÊôÐÔµÄÏ̡߳£¶ÔÏß³ÌÊôÐÔµÄÉ趨ºÍÐÞ¸ÄÎÒÃǽ«ÔÚÏÂÒ»
½Ú²ûÊö¡£µ±´´½¨Ï̳߳ɹ¦Ê±£¬º¯Êý·µ»Ø0£¬Èô²»Îª0Ôò˵Ã÷´´½¨Ïß³Ìʧ°Ü£¬³£¼ûµÄ´íÎ󷵻شúÂëΪEAGAINºÍEINVAL¡£Ç°Õß±íʾϵͳÏÞÖÆ´´½¨ÐµÄỊ̈߳¬
ÀýÈçÏß³ÌÊýÄ¿¹ý¶àÁË£»ºóÕß±íʾµÚ¶þ¸ö²ÎÊý´ú±íµÄÏß³ÌÊôÐÔÖµ·Ç·¨¡£´´½¨Ï̳߳ɹ¦ºó£¬Ð´´½¨µÄÏß³ÌÔòÔËÐвÎÊýÈýºÍ²ÎÊýËÄÈ·¶¨µÄº¯Êý£¬ÔÀ´µÄÏß³ÌÔò¼ÌÐøÔËÐÐÏÂÒ»
ÐдúÂë¡£
º¯Êýpthread_joinÓÃÀ´µÈ´ýÒ»¸öÏ̵߳ĽáÊø¡£º¯ÊýÔÐÍΪ£º
extern int
Ïà¹ØÎĵµ£º
“Sudo” ÊÇUnix/Linuxƽ̨ÉϵÄÒ»¸ö·Ç³£ÓÐÓõŤ¾ß£¬ËüÔÊÐíϵͳ¹ÜÀíÔ±·ÖÅ䏸ÆÕͨÓû§Ò»Ð©ºÏÀíµÄ“ȨÀû”£¬ÈÃËûÃÇÖ´ÐÐһЩֻÓг¬¼¶Óû§»òÆäËûÌØÐíÓû§²ÅÄÜÍê³ÉµÄÈÎÎñ£¬±ÈÈ磺ÔËÐÐһЩÏñmount£¬halt£¬suÖ®ÀàµÄÃüÁ»òÕß±à¼Ò»Ð©ÏµÍ³ÅäÖÃÎļþ£¬Ïñ/etc/mtab£¬ /etc/samba/smb.confµÈ¡£ÕâÑùÒÔÀ´£ ......
1.¼àÊÓÄÚ´æ
free -mt
total used free shared buffers cached
Mem: ......
ÎÒÓõÄJava°æ±¾Îª1.4£¬ÓÃ1.5µÄʱºò˵ÊÇÓв»°²È«µÄ²Ù×÷£¬ÎÞ·¨±àÒë¡¢ÔËÐС£
ÏÂÔØ×îа汾£¬BRITE.tar.gz
$ gunzip BRITE.tar.gz
$ tar xvf BRITE.tar
$ cd BRITE/
$ make all
±àÒëÍê³É£¬ÔËÐÐBRITE
$ ./brite &
Ö÷ÒªµÄÎÊÌâ ......
Linux JDK and ANT install
linux JDKµÄ°²×°
°²×°JDK
´ÓsunÍøÕ¾ÉÏÖ±½ÓÏÂÔØJDK£ºhttp:
//java.sun.com/j2se/1.4.2
/download.htmlÌṩÁËÁ½¸öÏÂÔØ£º
1¡¢RPM in self-extracting file
(j2sdk-1_4_2_04-linux-i586.bin,
32.77 MB) Õâ¸öÊÇ×Ô½âѹµÄÎļþ£¬ÔÚlinuxÉϰ²×°ÈçÏ£º
chmod u+x
./j2sdk-1_4_2_04-l ......
LinuxÌṩÁË´óÁ¿µÄÃüÁÀûÓÃËü¿ÉÒÔÓÐЧµØÍê³É´óÁ¿µÄ¹¤×÷£¬Èç´ÅÅ̲Ù×÷¡¢Îļþ´æÈ¡¡¢Ä¿Â¼²Ù×÷¡¢½ø³Ì¹ÜÀí¡¢ÎļþȨÏÞÉ趨µÈ¡£ËùÒÔ£¬ÔÚLinuxϵͳÉϹ¤×÷Àë²»¿ªÊ¹ÓÃϵͳÌṩµÄÃüÁî¡£ÒªÏëÕæÕýÀí½âLinuxϵͳ£¬¾Í±ØÐë´ÓLinuxÃüÁîѧÆð£¬Í¨¹ý»ù´¡µÄÃüÁîѧϰ¿ÉÒÔ½øÒ»²½Àí½âLinuxϵͳ¡£
²»Í¬Linux·¢ÐаæµÄÃüÁîÊýÁ¿²»Ò»Ñù£¬µ«Linux·¢ÐÐ°æ± ......