- 论坛徽章:
- 0
|
这个程序也是来自flw的改动。在SERVER永远不停。只要用不原子的情况就有输出,否则就什么也不说。
可以监视1个月。
再有看这样监视是否合理,还有更好的改进?
- # include <stdio.h>
- # include <stdlib.h>
- # include <pthread.h>
- # include <unistd.h>
- int runFlag = 1;
- int count = 0;
- #define TEST1
- void *incCount( int id );
- int main( void )
- {
- pthread_t thread;
- int i;
- int ret;
- for( i=0; i<6; i++ ){
- ret = pthread_create( &thread, NULL, (void *(*)(void *))incCount, (void *)i );
- if ( ret != 0 ){
- perror( "pthread_create" );
- exit(-1);
- }
- }
- while(1) sleep(100);
- return 0;
- }
- void *incCount( int id )
- {
- int i;
- unsigned int k, v;
- id++;
- k = 0x11111111*id;
- printf( "Hello, I am pthread %d\n", id );
- while(1){
- for( i=0; i<10000; i++ ){
- count = k;
- v = count;
- if((v & 0x0000ffff) != (v >> 16)) {
- printf("%p %p\n", v, count);
- }
- }
- }
- printf( "[%d] Done.\n", id );
- return NULL;
- }
复制代码 |
|