Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <pthread.h>
- #include <stdio.h>
- #include <unistd.h>
- #include <stdio.h>
- #include <string.h>
- #include <netdb.h>
- //#include <linux/in.h>
- #include <sys/socket.h>
- #include <unistd.h>
- int pipe_write;
- #define buflen 1024
- void *threadAttack(void *nothing)
- {
- printf("Thread %d started\n",*((int*)nothing));
- //Main loop
- while(1)
- {
- //write to pipe
- write(pipe_write,(char*)nothing,4);
- //usleep(1000);
- }
- pthread_exit(NULL);
- }
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- int main()
- {
- int pipe_fd[2];
- pipe(pipe_fd);
- pipe_write=pipe_fd[1];
- pthread_t threads[128];
- int value[128];
- int read_array[128];
- for(int i=0;i<32;i++)
- {
- read_array[i]=0;
- *(value+i)=i;
- pthread_create(&threads[i], 0, threadAttack, (void*)(value+i));
- }
- //Read stuff
- int reads=0;
- while(reads<1000000)
- {
- int value;
- read(pipe_fd[0],(char*)&value,4);
- if ((value<0)||(value>32))
- {
- printf("Error\n");
- break;
- }
- read_array[value]+=1;
- ++reads;
- }
- //finish
- for(int i=0;i<32;i++)
- {
- printf("%d: %d\n",i,read_array[i]);
- }
- getchar();
- pthread_exit(NULL);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement