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

Notes for Advanced Linux Programming 4. Threads

4.  Threads
To use the POSIX standard thread API (pthreads), link libpthread.so
to your program.
4.1. Thread Creation
Each thread in a process is identified by a thread ID,
pthread_t.
The pthread_self function returns the thread ID of the current
thread.
This thread IDs can be compared with the pthread_equal
function.
if (!pthread_equal (pthread_self (),
other_thread))
    pthread_join
(other_thread, NULL);
each thread executes a thread function:
void * function(void *)
The pthread_create function creates a new thread.
A pointer to a pthread_t variable: store the thread ID of
the new thread.
A pointer to a thread attribute object. You can pass NULL
to use the default attributes.
A pointer to the thread function. void* (*) (void*)
A thread argument value of type void*.
Compile and link this program:
% cc -o thread-create thread-create.c
–lpthread
A thread exits in two ways.
return from the thread function. The function return value
is the thread return value.
explicitly call pthread_exit. The argument to pthread_exit
is the thread’s return value.
Create a Thread
#include <pthread.h>
#include <stdio.h>
/* Prints x’s to stderr. The parameter is
unused. Does not return. */
void* print_xs (void* unused)
{
    while (1)
        fputc (‘x’, stderr);
    return NULL;
}
/* The main program. */
int main ()
{
    pthread_t thread_id;
    /* Create a new thread. The new thread will run the print_xs function.
*/
    pthread_create (&thread_id, NULL, &print_xs, NULL);
    /* Print o’s continuously to stderr. */
    while (1)
        fputc (‘o’, stderr);
    return 0;
}
4.1.1. Passing Data to Threads
Listing 4.2 (thread-create2) Create Two
Threads
#include <pthread.h&g


Ïà¹ØÎĵµ£º

1.³õ¼¶ÈëÃÅ xp sqlplus Á¬½Ó linuxÐéÄâ»ú oracle

1.Ê×ÏÈ¿´¿´ÔÚxpÏÂÊÇ·ñÄܹ»pingͨÐéÄâ»úµÄip£¨ÐéÄâ»ú²é¿´ipÃüÁifconfig£¬´ËÃüÁîÒªÇóÓÐrootȨÏÞ£¬»òÕßÓà /sbin/ifconfig).
2.ÔÚµÚÒ»²½³É¹¦µÄ»ù´¡ÉÏ£¬ÒªÅäÖÃxpÏÂoracle°²×°Ä¿Â¼ÏµÄtnsnames.oraÕâ¸öÎļþ£¨Îҵķ¾¶ÊÇ£ºD:\oracle\product\10.2.0\db_1\NETWORK\ADMIN£¬Õâ¸ö·¾¶Òò»úÆ÷¶øÒì)
    Ê×ÏÈÔÚtnsnam ......

FreebsdÓëlinux¶Ô±È·ÖÎö


FreeBSDÊÇÒ»¸öÍêÕûµÄ²Ù×÷ϵͳ£¬°üº¬ÁË´Ó¿ª·¢¹¤¾ßµ½¸÷ÖÖ¸÷ÑùµÄÓ¦ÓóÌÐò¡£
ĿǰÈËÃÇÈÏΪFreeBSDÔÚÎȶ¨ÐÔºÍÍøÂçÔË×÷ÉϵÄÐÔÄÜÒªÓÅÓÚLinux¡£
ËüÓÉÒ»¸öÈí¼þ¿ª·¢µÄºËÐÄÍŶÓÀ´Î¬»¤£¬Õû¸öԭʼ³ÌÐò´úÂë»áÓÐ×éÖ¯µØ½øÐиüУ¬ËùÒÔ³ÌÐò´úÂë±È½ÏÓÐÒ»ÖÂÐÔ¡£
ÓÉÓÚÈËÃǶÔFreeBSDµÄÈÏʶ±È½ÏÉÙ£¬Ê¹Ó÷¶Î§Ò²±È½ÏС£¬µ¼ÖÂÁËËüÔÚ¶ÔһЩвúÆ· ......

linuxÎļþµÄȨÏÞÐÞ¸ÄchmodÓ÷¨

Ö¸ÁîÃû³Æ : chmod
ʹÓÃȨÏÞ : ËùÓÐʹÓÃÕß
ʹÓ÷½Ê½ : chmod [-cfvR] [--help] [--version] mode file...
˵Ã÷ : Linux/Unix µÄµµ°¸µ÷ÓÃȨÏÞ·ÖΪÈý¼¶ : µµ°¸ÓµÓÐÕß¡¢Èº×é¡¢ÆäËû¡£ÀûÓà chmod ¿ÉÒÔ½åÒÔ¿ØÖƵµ°¸ÈçºÎ±»ËûÈËËùµ÷Óá£
²ÎÊý :
mode : ȨÏÞÉ趨×Ö´®£¬¸ñʽÈçÏ : [ugoa...][[+-=][rwxX]...][,...]£¬ÆäÖÐ
......

linux find exec rm

#find ... -exec rm {} \;
#find ... | xargs rm -rf
Á½Õß¶¼¿ÉÒÔ°ÑfindÃüÁî²éÕÒµ½µÄ½á¹ûɾ³ý£¬ÆäÇø±ð¼òµ¥µÄ˵ÊÇǰÕßÊǰÑfind·¢ÏֵĽá¹ûÒ»´ÎÐÔ´«¸øexecÑ¡ÏÕâÑùµ±ÎļþÊýÁ¿½Ï¶àµÄʱºò£¬¾Í¿ÉÄÜ»á³öÏÖ“²ÎÊýÌ«¶à”Ö®ÀàµÄ´íÎó£¬Ïà±È½Ï¶øÑÔ£¬ºóÕ߾ͿÉÒÔ±ÜÃâÕâ¸ö´íÎó£¬ÒòΪxargsÃüÁî»á·ÖÅú´ÎµÄ´¦Àí½á¹û¡£ÕâÑù¿´À´£ ......

½¨Á¢ARM+LinuxÓ¦ÓóÌÐòµ÷ÊÔ»·¾³

http://blog.csdn.net/dinitial/archive/2009/02/22/3923559.aspx
Gdb+gdbserver+insight»·¾³µÄ´î½¨
1.    ÏÂÔØgdbÔ´´úÂë    http://ftp.gnu.org/gnu/gdb/
2.    ÅäÖð²×°gdb+gdbser
$ tar jxvf gdb-6.6.tar.bz2
$ cd x/gdb
$ ./configure --target=arm-linux --prefix ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ