作业社区
探索学习新天地,共享知识资源!
慕运维8597106 的学生作业:
练习1 #! /bin/bash #! /bin/bash # 1、在用户主⽬录新建一个⽬录shell cd ~ mkdir shell # 2、拷贝/etc/passwd⽂件到你的shell⽬录 cp /etc/passwd ~/shell # 3、将shell⽬录备份成shell-bak cp -r shell shell-bak # 4、对shell-bak进行压缩,压缩成shll-bak.tar.gz tar -cvf shell-bak.tar.gz shell-bak # 5、复制压缩后的⽂件到你的共享⽬录 cp shell-bak.tar.gz /mnt/hgfs/share/myDir/ # 6、查看共享⽬录shell-bak.tar.gz的⼤⼩。 ls -l ls -l /mnt/hgfs/share/myDir/shell-bak.tar.gz 练习2 #! /bin/bash file_name=$0 word_count=$# return_value=$? string=$* echo "file_name : $file_name" echo "word_count : $word_count" echo "return_value : $return_value" echo "string : $string" 【图片】
+120
向佐佐 的学生作业:
加互斥锁 #include #include #include #include static int global = 0; pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; void *do_thread(void *arg) { int loops = *(int *)arg; int i,tmp = 0; for (i = 0;i < loops;i++){ pthread_mutex_lock(&mutex); tmp = global; tmp++; global = tmp; pthread_mutex_unlock(&mutex); } pthread_exit(NULL); } int main(int argc,char *argv[]) { int err,i = 0; pthread_t tid[2] = {0}; int loops = 0; if (argc != 2){ fprintf(stderr,"Usage : < %s > < count loops>\n",argv[0]); exit(EXIT_FAILURE); } loops = atoi(argv[1]); for (i = 0;i < 2;i++){ err = pthread_create(&tid[i],NULL,do_thread,&loops); if (err != 0){ fprintf(stderr,"[ERROR] pthread_create(): < %s > \n",strerror(err)); exit(EXIT_FAILURE); } } pthread_join(tid[0],NULL); pthread_join(tid[1],NULL); printf("global = %d\n",global); return 0; } 【图片】 不加互斥锁 #include #include #include #include static int global = 0;//临界资源 void *do_thread(void *arg) { int loops = *(int *)arg; int i,tmp = 0; for(i = 0;i < loops;i++) { tmp = global; tmp++; global = tmp; } } //argv[0]:./a.out argv[1]:"100" int main(int argc,char *argv[]) { int loops,i; int err; pthread_t tid[2] = {0}; if(argc != 2) { fprintf(stderr,"Usage:\n",argv[0]); exit(EXIT_FAILURE); } loops = atoi(argv[1]);//atoi():把字符串100转化为整数100 for(i=0;i
+78