锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品国产免费观看,欧美日韩亚洲另类,国产日韩欧美精品在线http://www.shnenglu.com/newplan/category/5224.html闃垮熀綾沖痙鍦ㄦ礂婢℃檪鐧肩従嫻姏鍘熺悊錛岄珮鑸堝緱渚嗕笉鍙婄┛銌栬げ瀛愶紝璺戝埌琛椼問澶у枈錛欵ureka錛堟垜鎵懼埌浜嗭級銆?/description>zh-cnMon, 19 May 2008 13:40:49 GMTMon, 19 May 2008 13:40:49 GMT60浜斾釜鍝插瀹剁嚎紼嬪疄鐜?/title><link>http://www.shnenglu.com/newplan/archive/2008/01/04/40374.html</link><dc:creator>灞辨硥寮歡</dc:creator><author>灞辨硥寮歡</author><pubDate>Thu, 03 Jan 2008 16:14:00 GMT</pubDate><guid>http://www.shnenglu.com/newplan/archive/2008/01/04/40374.html</guid><wfw:comment>http://www.shnenglu.com/newplan/comments/40374.html</wfw:comment><comments>http://www.shnenglu.com/newplan/archive/2008/01/04/40374.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/newplan/comments/commentRss/40374.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/newplan/services/trackbacks/40374.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">#include </span><span style="color: #000000;">"</span><span style="color: #000000;">apue.h</span><span style="color: #000000;">"</span><span style="color: #000000;"><br>#include </span><span style="color: #000000;">"</span><span style="color: #000000;">semaphore.h</span><span style="color: #000000;">"</span><span style="color: #000000;"><br>#include </span><span style="color: #000000;">"</span><span style="color: #000000;">pthread.h</span><span style="color: #000000;">"</span><span style="color: #000000;"><br><br>#define N </span><span style="color: #000000;">5</span><span style="color: #000000;"><br>static </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> necs;<br>static sem_t  </span><span style="color: #000000;">*</span><span style="color: #000000;">forks;<br><br>void </span><span style="color: #000000;">*</span><span style="color: #000000;"><br>takeFork(</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> i)<br>{<br></span><span style="color: #0000ff;">if</span><span style="color: #000000;">(i</span><span style="color: #000000;">==</span><span style="color: #000000;">N</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">)<br>    {<br>     sem_wait(</span><span style="color: #000000;">&</span><span style="color: #000000;">forks[</span><span style="color: #000000;">0</span><span style="color: #000000;">]);<br>     sem_wait(</span><span style="color: #000000;">&</span><span style="color: #000000;">forks[i]);<br>    }<br>   </span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br>     {<br>     sem_wait(</span><span style="color: #000000;">&</span><span style="color: #000000;">forks[i]);<br>     sem_wait(</span><span style="color: #000000;">&</span><span style="color: #000000;">forks[i</span><span style="color: #000000;">+</span><span style="color: #000000;">1</span><span style="color: #000000;">]);<br>     }<br>}<br>void </span><span style="color: #000000;">*</span><span style="color: #000000;"><br>putFork(</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> i)<br>{<br></span><span style="color: #0000ff;">if</span><span style="color: #000000;">(i</span><span style="color: #000000;">==</span><span style="color: #000000;">N</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">)<br>    {<br>     sem_post(</span><span style="color: #000000;">&</span><span style="color: #000000;">forks[</span><span style="color: #000000;">0</span><span style="color: #000000;">]);<br>     sem_post(</span><span style="color: #000000;">&</span><span style="color: #000000;">forks[i]);<br>    }<br></span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br>    {<br>    sem_post(</span><span style="color: #000000;">&</span><span style="color: #000000;">forks[i]);<br>    sem_post(</span><span style="color: #000000;">&</span><span style="color: #000000;">forks[i</span><span style="color: #000000;">+</span><span style="color: #000000;">1</span><span style="color: #000000;">]);<br>   }<br>}<br>void <br>thinking(</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> i,</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> necs)<br>{<br>    printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">pholosopher %d  is thinking\n</span><span style="color: #000000;">"</span><span style="color: #000000;">,i);<br>    sleep(necs);<br><br>}<br>void<br>eating(</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> i,</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> necs)<br>{<br>    printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">pholosopher %d  is eating\n</span><span style="color: #000000;">"</span><span style="color: #000000;">,i);<br>    sleep(necs);<br>}<br>void </span><span style="color: #000000;">*</span><span style="color: #000000;"><br>philosopher(void </span><span style="color: #000000;">*</span><span style="color: #000000;">n)<br>{<br>    </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> i</span><span style="color: #000000;">=</span><span style="color: #000000;">(</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> )n;<br>    </span><span style="color: #0000ff;">while</span><span style="color: #000000;">(</span><span style="color: #000000;">1</span><span style="color: #000000;">)<br>    {<br>     thinking(i,necs);<br>     takeFork(i);<br>     eating(i,necs);<br>     putFork(i);<br>    }<br>}<br></span><span style="color: #000000;">//============================</span><span style="color: #000000;">main </span><span style="color: #0000ff;">function</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">int</span><span style="color: #000000;"><br>main(</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> argc,char </span><span style="color: #000000;">*</span><span style="color: #000000;">argv[])<br>{<br>   pthread_t tid;<br>  <br>   </span><span style="color: #0000ff;">if</span><span style="color: #000000;">(argc</span><span style="color: #000000;">==</span><span style="color: #000000;">1</span><span style="color: #000000;">)<br>          necs</span><span style="color: #000000;">=</span><span style="color: #000000;">2</span><span style="color: #000000;">;<br>   </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> </span><span style="color: #0000ff;">if</span><span style="color: #000000;">(argc </span><span style="color: #000000;">==</span><span style="color: #000000;">2</span><span style="color: #000000;">)<br>          necs</span><span style="color: #000000;">=</span><span style="color: #000000;">atoi(argv[</span><span style="color: #000000;">1</span><span style="color: #000000;">]);<br>   </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> return </span><span style="color: #000000;">1</span><span style="color: #000000;">;<br>  <br>   forks</span><span style="color: #000000;">=</span><span style="color: #000000;">(sem_t</span><span style="color: #000000;">*</span><span style="color: #000000;">)malloc(N</span><span style="color: #000000;">*</span><span style="color: #000000;">sizeof(sem_t));<br>   <br>   </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> i;<br>   </span><span style="color: #0000ff;">for</span><span style="color: #000000;">(i</span><span style="color: #000000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;  i</span><span style="color: #000000;"><</span><span style="color: #000000;">N;  i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br>   sem_init(forks</span><span style="color: #000000;">+</span><span style="color: #000000;">i,</span><span style="color: #000000;">0</span><span style="color: #000000;">,</span><span style="color: #000000;">1</span><span style="color: #000000;">);<br><br>   </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> status;<br>   </span><span style="color: #0000ff;">for</span><span style="color: #000000;">(i</span><span style="color: #000000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;i</span><span style="color: #000000;"><</span><span style="color: #000000;">N;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br>    {<br>      status</span><span style="color: #000000;">=</span><span style="color: #000000;">pthread_create(</span><span style="color: #000000;">&</span><span style="color: #000000;">tid,</span><span style="color: #0000ff;">NULL</span><span style="color: #000000;">,philosopher,(void</span><span style="color: #000000;">*</span><span style="color: #000000;">)i);<br><br>      </span><span style="color: #0000ff;">if</span><span style="color: #000000;">(status</span><span style="color: #000000;"><</span><span style="color: #000000;">0</span><span style="color: #000000;">)<br>      err_sys(</span><span style="color: #000000;">"</span><span style="color: #000000;">create error!</span><span style="color: #000000;">"</span><span style="color: #000000;">);  <br>    } <br>    pthread_join(tid ,</span><span style="color: #0000ff;">NULL</span><span style="color: #000000;">);<br>    return </span><span style="color: #000000;">0</span><span style="color: #000000;">;  <br>}<br></span></div> <br><img src ="http://www.shnenglu.com/newplan/aggbug/40374.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/newplan/" target="_blank">灞辨硥寮歡</a> 2008-01-04 00:14 <a href="http://www.shnenglu.com/newplan/archive/2008/01/04/40374.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>浜斾釜鍝插瀹惰繘紼嬪疄鐜?/title><link>http://www.shnenglu.com/newplan/archive/2008/01/04/40373.html</link><dc:creator>灞辨硥寮歡</dc:creator><author>灞辨硥寮歡</author><pubDate>Thu, 03 Jan 2008 16:13:00 GMT</pubDate><guid>http://www.shnenglu.com/newplan/archive/2008/01/04/40373.html</guid><wfw:comment>http://www.shnenglu.com/newplan/comments/40373.html</wfw:comment><comments>http://www.shnenglu.com/newplan/archive/2008/01/04/40373.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/newplan/comments/commentRss/40373.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/newplan/services/trackbacks/40373.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">#include </span><span style="color: #000000;">"</span><span style="color: #000000;">apue.h</span><span style="color: #000000;">"</span><span style="color: #000000;"><br>#include </span><span style="color: #000000;">"</span><span style="color: #000000;">lock.h</span><span style="color: #000000;">"</span><span style="color: #000000;"><br>#include </span><span style="color: #000000;">"</span><span style="color: #000000;">lock.c</span><span style="color: #000000;">"</span><span style="color: #000000;"><br><br></span><span style="color: #000000;">/*</span><span style="color: #000000;">define some important variable</span><span style="color: #000000;">*/</span><span style="color: #000000;"><br></span><span style="color: #000000;">/*=======================================*/</span><span style="color: #000000;"><br>pid_t  pid;<br><br>static char </span><span style="color: #000000;">*</span><span style="color: #000000;">forks[</span><span style="color: #000000;">5</span><span style="color: #000000;">]</span><span style="color: #000000;">=</span><span style="color: #000000;">{<br></span><span style="color: #000000;">"</span><span style="color: #000000;">fork0</span><span style="color: #000000;">"</span><span style="color: #000000;">, </span><span style="color: #000000;">"</span><span style="color: #000000;">fork1</span><span style="color: #000000;">"</span><span style="color: #000000;">, </span><span style="color: #000000;">"</span><span style="color: #000000;">fork2</span><span style="color: #000000;">"</span><span style="color: #000000;"> ,</span><span style="color: #000000;">"</span><span style="color: #000000;">fork3</span><span style="color: #000000;">"</span><span style="color: #000000;"> ,</span><span style="color: #000000;">"</span><span style="color: #000000;">fork4</span><span style="color: #000000;">"</span><span style="color: #000000;"><br>};<br><br>static </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> necs;<br><br>#define N </span><span style="color: #000000;">5</span><span style="color: #000000;"><br><br></span><span style="color: #000000;">/*======================================*/</span><span style="color: #000000;"><br>void takeFork(</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> i)<br>{<br></span><span style="color: #0000ff;">if</span><span style="color: #000000;">(i</span><span style="color: #000000;">==</span><span style="color: #000000;">N</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">)<br>  {<br>     lock(forks[</span><span style="color: #000000;">0</span><span style="color: #000000;">]);<br>     lock(forks[i]);<br>  }<br></span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br>{<br>lock(forks[i]);<br>lock(forks[i</span><span style="color: #000000;">+</span><span style="color: #000000;">1</span><span style="color: #000000;">]);<br>}<br>}<br><br><br>void putFork(</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> i)<br>{<br>   </span><span style="color: #0000ff;">if</span><span style="color: #000000;">(i</span><span style="color: #000000;">==</span><span style="color: #000000;">N</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">)<br>    {<br>    unlock(forks[</span><span style="color: #000000;">0</span><span style="color: #000000;">]);<br>    unlock(forks[i]);<br>    }<br>  </span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br>   {<br>   unlock(forks[i]);<br>   unlock(forks[i</span><span style="color: #000000;">+</span><span style="color: #000000;">1</span><span style="color: #000000;">]);<br><br>   }<br>}<br></span><span style="color: #0000ff;">int</span><span style="color: #000000;"><br>thinking(</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> i,</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> necs){<br>printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">pholosopher %d is thinking\n</span><span style="color: #000000;">"</span><span style="color: #000000;">,i);<br>return sleep(necs);<br>}<br></span><span style="color: #0000ff;">int</span><span style="color: #000000;"> <br>eating(</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> i,</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> necs)<br>{printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">pholosopher %d is eating\n</span><span style="color: #000000;">"</span><span style="color: #000000;">,i);<br>return sleep(necs);<br>}<br>void philosopher(</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> i)<br>{<br></span><span style="color: #0000ff;">while</span><span style="color: #000000;">(</span><span style="color: #000000;">1</span><span style="color: #000000;">)<br>{<br>thinking(i,necs);<br>takeFork(i);<br>eating(i,necs);<br>putFork(i);<br><br>}<br>}<br></span><span style="color: #0000ff;">int</span><span style="color: #000000;"><br> main(</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> argc ,char </span><span style="color: #000000;">*</span><span style="color: #000000;">argv[])<br>{<br> </span><span style="color: #0000ff;">if</span><span style="color: #000000;">(argc</span><span style="color: #000000;">=</span><span style="color: #000000;">1</span><span style="color: #000000;">)<br>      necs</span><span style="color: #000000;">=</span><span style="color: #000000;">2</span><span style="color: #000000;">;<br></span><span style="color: #0000ff;">else</span><span style="color: #000000;"> </span><span style="color: #0000ff;">if</span><span style="color: #000000;">(argc</span><span style="color: #000000;">==</span><span style="color: #000000;">2</span><span style="color: #000000;">)<br>     necs</span><span style="color: #000000;">=</span><span style="color: #000000;">atoi(argv[</span><span style="color: #000000;">1</span><span style="color: #000000;">]);<br></span><span style="color: #0000ff;">else</span><span style="color: #000000;">  return </span><span style="color: #000000;">0</span><span style="color: #000000;">;<br> <br></span><span style="color: #0000ff;">int</span><span style="color: #000000;"> i;   <br></span><span style="color: #0000ff;">for</span><span style="color: #000000;">(i</span><span style="color: #000000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;i</span><span style="color: #000000;"><</span><span style="color: #000000;">N;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br>{<br> pid</span><span style="color: #000000;">=</span><span style="color: #000000;">fork();<br> </span><span style="color: #0000ff;">if</span><span style="color: #000000;">(pid </span><span style="color: #000000;">==</span><span style="color: #000000;">0</span><span style="color: #000000;">)<br>     philosopher(i);<br>}<br>return </span><span style="color: #000000;">0</span><span style="color: #000000;">;<br>}<br></span></div> <br><img src ="http://www.shnenglu.com/newplan/aggbug/40373.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/newplan/" target="_blank">灞辨硥寮歡</a> 2008-01-04 00:13 <a href="http://www.shnenglu.com/newplan/archive/2008/01/04/40373.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍚屾鍐欎笌寮傛鍐欐枃浠跺疄鐜?/title><link>http://www.shnenglu.com/newplan/archive/2007/11/21/37099.html</link><dc:creator>灞辨硥寮歡</dc:creator><author>灞辨硥寮歡</author><pubDate>Wed, 21 Nov 2007 10:45:00 GMT</pubDate><guid>http://www.shnenglu.com/newplan/archive/2007/11/21/37099.html</guid><wfw:comment>http://www.shnenglu.com/newplan/comments/37099.html</wfw:comment><comments>http://www.shnenglu.com/newplan/archive/2007/11/21/37099.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/newplan/comments/commentRss/37099.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/newplan/services/trackbacks/37099.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><span style="color: #008000;">/*<br> 07.11.20 浜庢搗闊?br>*/<br>#</span><span style="color: #008000;">include  "sys/times.h"<br>#include "apue.h"<br>#include "fcntl.h"</span><span style="color: #008000;"><br></span><span style="color: #000000;">clock_t </span><span style="color: #0000ff;">times</span><span style="color: #000000;">(struct tms </span><span style="color: #000000;">*</span><span style="color: #000000;">buf);<br><br>static void pr_times(clock_t real </span><span style="color: #000000;">,</span><span style="color: #000000;">struct tms </span><span style="color: #000000;">*</span><span style="color: #000000;">tmsstart</span><span style="color: #000000;">,</span><span style="color: #000000;"> struct tms </span><span style="color: #000000;">*</span><span style="color: #000000;">tmsend);<br><br></span><span style="color: #0000ff;">int</span><span style="color: #000000;"> main(</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> argc</span><span style="color: #000000;">,</span><span style="color: #000000;"> char </span><span style="color: #000000;">*</span><span style="color: #000000;">argv[])<br>{<br>  struct tms tmsstart</span><span style="color: #000000;">,</span><span style="color: #000000;">tmsend;<br> <br>  clock_t  start</span><span style="color: #000000;">,</span><span style="color: #000000;">end;<br> <br>  off_t excursion;<br> <br>  </span><span style="color: #0000ff;">if</span><span style="color: #000000;">((excursion</span><span style="color: #000000;">=</span><span style="color: #000000;">lseek(</span><span style="color: #800000;">0</span><span style="color: #000000;">,</span><span style="color: #800000;">0</span><span style="color: #000000;">,</span><span style="color: #000000;">SEEK_END))</span><span style="color: #000000;">==-</span><span style="color: #800000;">1</span><span style="color: #000000;">)</span><span style="color: #0000ff;">printf</span><span style="color: #000000;">(</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">can not seek!\n</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;">);<br> <br>  char buf[excursion];<br> <br>  </span><span style="color: #000000;">/*</span><span style="color: #0000ff;">printf</span><span style="color: #000000;">(</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">excutsion ==#%d\n</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">excursion);</span><span style="color: #000000;">*/</span><span style="color: #000000;"><br>  </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> outfile_fd;</span><span style="color: #000000;">/*</span><span style="color: #000000;">out file descrite tag </span><span style="color: #000000;">*/</span><span style="color: #000000;"><br> <br>  lseek(</span><span style="color: #800000;">0</span><span style="color: #000000;">,</span><span style="color: #800000;">0</span><span style="color: #000000;">,</span><span style="color: #000000;">SEEK_SET);</span><span style="color: #000000;">/*</span><span style="color: #000000;">it is very importent  to go back  to the beginning of input file</span><span style="color: #000000;">!*/</span><span style="color: #000000;"><br> <br>  </span><span style="color: #0000ff;">if</span><span style="color: #000000;">(</span><span style="color: #0000ff;">read</span><span style="color: #000000;">(</span><span style="color: #800000;">0</span><span style="color: #000000;">,</span><span style="color: #000000;">buf</span><span style="color: #000000;">,</span><span style="color: #000000;">excursion)</span><span style="color: #000000;">==</span><span style="color: #800000;">0</span><span style="color: #000000;">)</span><span style="color: #0000ff;">printf</span><span style="color: #000000;">(</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">read OK!\n</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;">);<br>  </span><span style="color: #000000;">/*</span><span style="color: #000000;"> buf[excursion]</span><span style="color: #000000;">=</span><span style="color: #000000; font-weight: bold;">'</span><span style="color: #000000; font-weight: bold;">\0</span><span style="color: #000000; font-weight: bold;">'</span><span style="color: #000000;">;</span><span style="color: #000000;">*/</span><span style="color: #000000;"><br>  </span><span style="color: #0000ff;">if</span><span style="color: #000000;">(argc</span><span style="color: #000000;">==</span><span style="color: #800000;">3</span><span style="color: #000000;">  </span><span style="color: #000000;">&&</span><span style="color: #000000;">  strcmp(argv[</span><span style="color: #800000;">2</span><span style="color: #000000;">]</span><span style="color: #000000;">,</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">sync</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;">)</span><span style="color: #000000;">==</span><span style="color: #800000;">0</span><span style="color: #000000;">)<br>      { </span><span style="color: #0000ff;">if</span><span style="color: #000000;">(( outfile_fd</span><span style="color: #000000;">=</span><span style="color: #0000ff;">open</span><span style="color: #000000;">(argv[</span><span style="color: #800000;">1</span><span style="color: #000000;">]</span><span style="color: #000000;">,</span><span style="color: #000000;">O_RDWR</span><span style="color: #000000;">|</span><span style="color: #000000;">O_CREAT</span><span style="color: #000000;">|</span><span style="color: #000000;">O_SYNC</span><span style="color: #000000;">,</span><span style="color: #800000;">0666</span><span style="color: #000000;">))</span><span style="color: #000000;"><</span><span style="color: #800000;">0</span><span style="color: #000000;">)err_sys(</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">creat error</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;">);}<br>    </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> </span><span style="color: #0000ff;">if</span><span style="color: #000000;">(argc</span><span style="color: #000000;">==</span><span style="color: #800000;">2</span><span style="color: #000000;">)<br>       {</span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (( outfile_fd</span><span style="color: #000000;">=</span><span style="color: #0000ff;">open</span><span style="color: #000000;">(argv[</span><span style="color: #800000;">1</span><span style="color: #000000;">]</span><span style="color: #000000;">,</span><span style="color: #000000;">O_RDWR</span><span style="color: #000000;">|</span><span style="color: #000000;">O_CREAT</span><span style="color: #000000;">,</span><span style="color: #800000;">0666</span><span style="color: #000000;">))</span><span style="color: #000000;"><</span><span style="color: #800000;">0</span><span style="color: #000000;">)err_sys(</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">creat error</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;">);}<br>    </span><span style="color: #0000ff;">else</span><span style="color: #000000;">{</span><span style="color: #0000ff;">printf</span><span style="color: #000000;">(</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">para error!\n</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;">);</span><span style="color: #0000ff;">exit</span><span style="color: #000000;">(</span><span style="color: #800000;">1</span><span style="color: #000000;">);}<br>    long size</span><span style="color: #000000;">=</span><span style="color: #800000;">1024</span><span style="color: #000000;">; <br>    fflush(stdin);<br>    </span><span style="color: #0000ff;">printf</span><span style="color: #000000;">(</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">BUFFSIZE  USER CPU  SYSTEM CPU  REAL TIMES  CIRCLE TIMES\n</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;">);<br>    </span><span style="color: #0000ff;">int</span><span style="color: #000000;">  n;<br>    </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> t;<br>    char </span><span style="color: #000000;">*</span><span style="color: #000000;">p</span><span style="color: #000000;">=</span><span style="color: #000000;">buf;<br>    long  redo_count;</span><span style="color: #000000;">/*</span><span style="color: #000000;">re </span><span style="color: #0000ff;">do</span><span style="color: #000000;"> copy </span><span style="color: #0000ff;">times</span><span style="color: #000000;">*/</span><span style="color: #000000;"> <br><br>  </span><span style="color: #0000ff;">do</span><span style="color: #000000;">{ <br>      </span><span style="color: #0000ff;">if</span><span style="color: #000000;">((start</span><span style="color: #000000;">=</span><span style="color: #0000ff;">times</span><span style="color: #000000;">(</span><span style="color: #000000;">&</span><span style="color: #000000;">tmsstart))</span><span style="color: #000000;">==-</span><span style="color: #800000;">1</span><span style="color: #000000;">)err_sys(</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">times error</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;">);<br>      redo_count</span><span style="color: #000000;">=</span><span style="color: #800000;">0</span><span style="color: #000000;">;</span><span style="color: #000000;">/*</span><span style="color: #000000;">it is very </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> to set the counter zero at every circle </span><span style="color: #000000;">*/</span><span style="color: #000000;"><br>      t</span><span style="color: #000000;">=</span><span style="color: #800000;">1</span><span style="color: #000000;">;</span><span style="color: #000000;">/*</span><span style="color: #000000;">it is </span><span style="color: #0000ff;">use</span><span style="color: #000000;"> in the inside </span><span style="color: #0000ff;">while</span><span style="color: #000000;"> </span><span style="color: #000000;">*/</span><span style="color: #000000;"><br>      </span><span style="color: #0000ff;">while</span><span style="color: #000000;">((n</span><span style="color: #000000;">=</span><span style="color: #0000ff;">write</span><span style="color: #000000;">(outfile_fd</span><span style="color: #000000;">,</span><span style="color: #000000;">p</span><span style="color: #000000;">,</span><span style="color: #000000;">size))</span><span style="color: #000000;">==</span><span style="color: #000000;">size)<br>              {   p</span><span style="color: #000000;">+=</span><span style="color: #000000;">size;</span><span style="color: #000000;">/*</span><span style="color: #000000;">the begin buf must increase every </span><span style="color: #0000ff;">time</span><span style="color: #000000;">*/</span><span style="color: #000000;"><br>                  redo_count</span><span style="color: #000000;">++</span><span style="color: #000000;">;</span><span style="color: #000000;">/*</span><span style="color: #000000;">count how many </span><span style="color: #0000ff;">times</span><span style="color: #000000;"> circle </span><span style="color: #0000ff;">do</span><span style="color: #000000;">*/</span><span style="color: #000000;"><br>                  t</span><span style="color: #000000;">=</span><span style="color: #000000;">size</span><span style="color: #000000;">*</span><span style="color: #000000;">redo_count;</span><span style="color: #000000;">/*</span><span style="color: #000000;">one tag to count how many charaters we have travered</span><span style="color: #000000;">*/</span><span style="color: #000000;"><br>                  </span><span style="color: #000000;">/*</span><span style="color: #000000;"> </span><span style="color: #0000ff;">printf</span><span style="color: #000000;">(</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">excursion==%d  t==%d   excursion-t==%d  size==%d\n</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">excursion</span><span style="color: #000000;">,</span><span style="color: #000000;">t</span><span style="color: #000000;">,</span><span style="color: #000000;">excursion</span><span style="color: #000000;">-</span><span style="color: #000000;">t</span><span style="color: #000000;">,</span><span style="color: #000000;">size);</span><span style="color: #000000;">*/</span><span style="color: #000000;"><br>                  </span><span style="color: #0000ff;">if</span><span style="color: #000000;">((excursion</span><span style="color: #000000;">-</span><span style="color: #000000;">t)</span><span style="color: #000000;"><</span><span style="color: #000000;">size)break;<br>              }<br>      </span><span style="color: #0000ff;">if</span><span style="color: #000000;">(excursion</span><span style="color: #000000;">-</span><span style="color: #000000;">t</span><span style="color: #000000;">></span><span style="color: #800000;">0</span><span style="color: #000000;">)<br>         </span><span style="color: #0000ff;">if</span><span style="color: #000000;">(</span><span style="color: #0000ff;">write</span><span style="color: #000000;">(outfile_fd</span><span style="color: #000000;">,</span><span style="color: #000000;">p</span><span style="color: #000000;">,</span><span style="color: #000000;">excursion</span><span style="color: #000000;">-</span><span style="color: #000000;">t)</span><span style="color: #000000;">!=</span><span style="color: #000000;">(excursion</span><span style="color: #000000;">-</span><span style="color: #000000;">t))err_sys(</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">read error</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;">);<br>      </span><span style="color: #0000ff;">if</span><span style="color: #000000;">((end</span><span style="color: #000000;">=</span><span style="color: #0000ff;">times</span><span style="color: #000000;">(</span><span style="color: #000000;">&</span><span style="color: #000000;">tmsend))</span><span style="color: #000000;">==-</span><span style="color: #800000;">1</span><span style="color: #000000;">)err_sys(</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">times error</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;">);<br>      </span><span style="color: #0000ff;">printf</span><span style="color: #000000;">(</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">%7ld</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">size);<br>      pr_times(end</span><span style="color: #000000;">-</span><span style="color: #000000;">start</span><span style="color: #000000;">,&</span><span style="color: #000000;">tmsstart</span><span style="color: #000000;">,&</span><span style="color: #000000;">tmsend);<br>      </span><span style="color: #0000ff;">printf</span><span style="color: #000000;">(</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">%7ld\n</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">redo_count);<br>      lseek(outfile_fd</span><span style="color: #000000;">,</span><span style="color: #800000;">0</span><span style="color: #000000;">,</span><span style="color: #000000;">SEEK_SET);</span><span style="color: #000000;">/*</span><span style="color: #000000;">let the outfile pointer go back to the beginning of outfile</span><span style="color: #000000;">!*/</span><span style="color: #000000;"><br>      p</span><span style="color: #000000;">=</span><span style="color: #000000;">buf;</span><span style="color: #000000;">/*</span><span style="color: #000000;">let p </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> to the beginning of buf;</span><span style="color: #000000;">*/</span><span style="color: #000000;"><br>     </span><span style="color: #000000;">/*</span><span style="color: #000000;"> </span><span style="color: #0000ff;">printf</span><span style="color: #000000;">(</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">size=%d  excursion=%d\n</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">size</span><span style="color: #000000;">,</span><span style="color: #000000;">excursion);</span><span style="color: #000000;">*/</span><span style="color: #000000;"><br>     } </span><span style="color: #0000ff;">while</span><span style="color: #000000;">((size</span><span style="color: #000000;">*=</span><span style="color: #800000;">2</span><span style="color: #000000;">)</span><span style="color: #000000;"><=</span><span style="color: #000000;">excursion);<br>  <br></span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #800000;">0</span><span style="color: #000000;">;<br>}<br>static void<br>pr_times(clock_t real </span><span style="color: #000000;">,</span><span style="color: #000000;">struct tms </span><span style="color: #000000;">*</span><span style="color: #000000;">tmsstart</span><span style="color: #000000;">,</span><span style="color: #000000;">struct tms </span><span style="color: #000000;">*</span><span style="color: #000000;">tmsend)<br>{static long clktck</span><span style="color: #000000;">=</span><span style="color: #800000;">0</span><span style="color: #000000;">;<br></span><span style="color: #0000ff;">if</span><span style="color: #000000;">(clktck</span><span style="color: #000000;">==</span><span style="color: #800000;">0</span><span style="color: #000000;">)<br> </span><span style="color: #0000ff;">if</span><span style="color: #000000;">((clktck</span><span style="color: #000000;">=</span><span style="color: #000000;">sysconf(_SC_CLK_TCK))</span><span style="color: #000000;"><</span><span style="color: #800000;">0</span><span style="color: #000000;">)<br>    </span><span style="color: #0000ff;">printf</span><span style="color: #000000;">(</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">sysconf error</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;">);<br><br></span><span style="color: #0000ff;">printf</span><span style="color: #000000;">(</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">   %2.5f</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">(tmsend</span><span style="color: #000000;">-></span><span style="color: #000000;">tms_utime</span><span style="color: #000000;">-</span><span style="color: #000000;">tmsstart</span><span style="color: #000000;">-></span><span style="color: #000000;">tms_utime)</span><span style="color: #000000;">/</span><span style="color: #000000;">(double)clktck);<br></span><span style="color: #0000ff;">printf</span><span style="color: #000000;">(</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">   %2.5f</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">(tmsend</span><span style="color: #000000;">-></span><span style="color: #000000;">tms_stime</span><span style="color: #000000;">-</span><span style="color: #000000;">tmsstart</span><span style="color: #000000;">-></span><span style="color: #000000;">tms_stime)</span><span style="color: #000000;">/</span><span style="color: #000000;">(double)clktck);<br></span><span style="color: #0000ff;">printf</span><span style="color: #000000;">(</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">     %2.5f    </span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">real</span><span style="color: #000000;">/</span><span style="color: #000000;">(double)clktck);<br>} <br> </span></div> <br><img src ="http://www.shnenglu.com/newplan/aggbug/37099.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/newplan/" target="_blank">灞辨硥寮歡</a> 2007-11-21 18:45 <a href="http://www.shnenglu.com/newplan/archive/2007/11/21/37099.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>unix_綆鍗晄hell瀹炵幇http://www.shnenglu.com/newplan/archive/2007/11/06/35991.html灞辨硥寮歡灞辨硥寮歡Tue, 06 Nov 2007 15:18:00 GMThttp://www.shnenglu.com/newplan/archive/2007/11/06/35991.htmlhttp://www.shnenglu.com/newplan/comments/35991.htmlhttp://www.shnenglu.com/newplan/archive/2007/11/06/35991.html#Feedback0http://www.shnenglu.com/newplan/comments/commentRss/35991.htmlhttp://www.shnenglu.com/newplan/services/trackbacks/35991.html#include "apue.h"
#include 
<sys/wait.h>
extern  char 
**environ;
static void sign_Int(
int signnal)
{printf(
"Be interrupted\n%%");}
static void sign_Quit(
int signnal)
{printf(
"quit\n%%");
}

int 
main(void)
{
   
    char 
*argv[20];
    pid_t pid;
    
int status;
    
if(signal(SIGINT,sign_Int)==SIG_ERR)
       err_sys(
"signal error\n");
    
if(signal(SIGQUIT,sign_Quit)==SIG_ERR)
         err_sys(
"signal error\n");
    printf(
"%%");
    
while (1)
    {        char buf[MAXLINE];
             
int index=0,i=0;
           
if(fgets(buf,MAXLINE,stdin)==NULL)
             break;  
        
while( buf[i] != '\0'&&buf[i]!='\n' )
        {
           
if(buf[i] != ' ' )
           {  
               argv[index]
= buf+i;
               index
++;
               
for(;buf[i]!= ' '&&buf[i]!='\n';i++);
               if(buf[i]=='\n')
               break;               
               buf[i]
='\0';
                i++;
                
while(buf[i]==' ') 
                       i++
           }  
        } 
        buf[i]
='\0';
        argv[index] = NULL;
        
if((pid = fork() ) < 0 ) 
           err_sys(
"fork error\n");
        
else if( pid == 0 )
        {
           execve(argv[
0],argv,environ);
           err_ret(
"coundn't execute:%s",argv[0]);           
           
exit(127);
          }
        
if(( pid = waitpid(pid,&status,0)) < 0)
           err_sys(
"waitpid error\n");
          printf(
"%%"); 
     }
     
exit(0);
}


]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久伊人免费视频| 欧美成人黑人xx视频免费观看| 欧美黄色大片网站| 久久天天躁夜夜躁狠狠躁2022 | 欧美一区二区私人影院日本| 欧美日韩综合网| 亚洲午夜激情| 亚洲一区二区三区精品视频| 国产精品一卡二卡| 久久精品网址| 久久理论片午夜琪琪电影网| 亚洲国产婷婷香蕉久久久久久99| 亚洲高清中文字幕| 欧美精品啪啪| 午夜精品在线观看| 久久久久国产精品麻豆ai换脸| 1024成人网色www| 亚洲乱码精品一二三四区日韩在线| 欧美三级电影一区| 久久久久久尹人网香蕉| 久久综合色婷婷| 一本久久综合| 欧美一进一出视频| 亚洲精品久久7777| 亚洲欧美在线看| 亚洲精品乱码久久久久久久久| 9人人澡人人爽人人精品| 国产色综合久久| 最新国产乱人伦偷精品免费网站 | 亚洲宅男天堂在线观看无病毒| 国产喷白浆一区二区三区| 模特精品在线| 国产精品一级久久久| 亚洲缚视频在线观看| 国产精品网站一区| 欧美黑人在线观看| 国产日韩欧美一区二区三区四区| 亚洲国产成人av| 国产深夜精品福利| 一本色道久久综合狠狠躁篇怎么玩| 国产在线视频欧美一区二区三区| 亚洲精品午夜精品| 一区二区亚洲精品| 亚洲一区二区在线| 99在线热播精品免费| 久久超碰97人人做人人爱| 亚洲图色在线| 欧美高清你懂得| 久久亚洲精品一区二区| 国产精品视频一区二区高潮| 亚洲国产精品悠悠久久琪琪| 一区二区在线视频| 欧美一二区视频| 欧美一区二区三区喷汁尤物| 欧美性久久久| 99精品视频免费观看| 亚洲精品在线三区| 久久亚洲精品一区| 久久一区二区三区四区| 国产亚洲观看| 亚洲欧美视频| 欧美一级视频| 国产精品一区久久久| 中日韩在线视频| 亚洲中无吗在线| 欧美亚洲不卡| 亚洲一区二区三区精品动漫| 亚洲一区二区av电影| 欧美日韩不卡在线| 亚洲精品日本| 亚洲系列中文字幕| 欧美日韩中文在线观看| 9久re热视频在线精品| 亚洲一区二区三区精品在线| 欧美日韩伦理在线| 一本色道88久久加勒比精品| 亚洲专区免费| 国产精品综合不卡av| 亚洲欧美自拍偷拍| 久久综合九色综合久99| 亚洲电影在线观看| 欧美freesex8一10精品| 日韩视频免费在线| 亚洲综合日本| 国产综合18久久久久久| 久久久久久亚洲精品不卡4k岛国| 欧美二区在线观看| 99精品欧美一区二区三区| 欧美视频观看一区| 亚洲欧洲99久久| 欧美1区2区视频| 99re6这里只有精品| 国产精品视频网| 久久九九精品| 日韩视频免费大全中文字幕| 亚洲欧美一区二区在线观看| 国语自产精品视频在线看8查询8| 免费观看日韩| 亚洲尤物影院| 亚洲国产精品成人va在线观看| 一区二区三区精密机械公司 | 国产精品黄色在线观看| 欧美影院在线| 亚洲黄网站在线观看| 午夜精品久久久久久久久| 韩国在线一区| 欧美日韩国产在线观看| 欧美一区二区三区在| 亚洲国产欧美在线| 欧美在线观看网址综合| 亚洲欧洲视频| 国产一区高清视频| 欧美色中文字幕| 美女在线一区二区| 性欧美xxxx大乳国产app| 亚洲第一二三四五区| 久久gogo国模啪啪人体图| 亚洲精品久久7777| 韩国欧美一区| 国产精品美女www爽爽爽视频| 久久综合伊人77777蜜臀| 亚洲午夜视频在线| 亚洲伦理一区| 你懂的视频欧美| 欧美一区观看| 亚洲欧美日韩另类| 99re66热这里只有精品4| 红桃视频国产精品| 国产精品自拍在线| 国产精品超碰97尤物18| 欧美国产丝袜视频| 久久青草欧美一区二区三区| 午夜精品影院| 正在播放亚洲| 亚洲色图综合久久| 一本久道久久久| 亚洲三级观看| 亚洲国产婷婷| 欧美福利一区| 欧美韩日视频| 亚洲成色www久久网站| 国产精品美女久久久浪潮软件| 免费的成人av| 欧美激情第五页| 欧美国产视频在线观看| 欧美黄网免费在线观看| 欧美freesex8一10精品| 欧美电影免费| 欧美日韩国产三级| 欧美日韩国产综合新一区| 欧美精品一区二区三| 欧美日本亚洲韩国国产| 欧美激情免费观看| 欧美日韩免费一区| 国产精品va在线播放| 国产精品女同互慰在线看| 国产精品自拍一区| 狠狠色2019综合网| 亚洲国产精品va在线看黑人| 亚洲黄页视频免费观看| 夜夜嗨av一区二区三区网页 | 国产综合av| 极品少妇一区二区三区精品视频 | 欧美午夜电影在线| 国产精品亚洲综合一区在线观看 | 国产真实久久| 亚洲第一网站免费视频| 亚洲黄色成人网| 亚洲一区久久| 久久久午夜视频| 亚洲国产mv| 亚洲午夜性刺激影院| 欧美一级淫片播放口| 久久在线免费| 欧美香蕉大胸在线视频观看| 国产一区二区三区无遮挡| 亚洲国产精品传媒在线观看| 亚洲视频在线观看三级| 久久精品视频在线观看| 亚洲国产精品第一区二区| 亚洲视频网站在线观看| 久久精品官网| 欧美视频在线观看| 在线成人中文字幕| 亚洲视频中文| 欧美福利视频网站| 亚洲一区二区视频在线| 麻豆久久婷婷| 国产欧美日韩三区| 99精品欧美一区| 欧美a级大片| 亚洲欧美日本日韩| 欧美精品在线播放| 激情小说亚洲一区| 亚洲欧美一级二级三级| 最新国产乱人伦偷精品免费网站| 欧美亚洲专区| 国产精品久久一区主播| 一二三四社区欧美黄| 久久综合中文字幕|