作业社区
探索学习新天地,共享知识资源!
慕村6158085 的学生作业:
exec1. #! /bin/bash array=(7 5 6 3 2) i=0 for var in array[@]doecho"{array[@]} do echo "array[@]doecho"{array[i]}:$i" i=expr $i + 1 done exec2. #! /bin/bash array=(I am westos teacher welcome to westos training class) i=0 for var in array[@]dov={array[@]} do v=array[@]dov=var if [ KaTeX parse error: Expected '}', got '#' at position 2: {#̲v} -le 6 ] the…v" fi #i=expr $1 + 1 done
+10
慕村6158085 的学生作业:
exec1. #! /bin/bash i=1 if [ $# -eq 2 ] then while [ $i -le $2 ] do touch KaTeX parse error: Expected group after '_' at position 2: 1_̲i.txt i=expr $i + 1 done elif [ $# -eq 1 ] then while [ $i -le 5 ] do touch KaTeX parse error: Expected group after '_' at position 2: 1_̲i.txt i=expr $i + 1 done fi exec2. #! /bin/bash dir_file=0 regular_file=0 if [ -d $1 ] then list=ls $1/ echo $list for var in $list do if [ -d 1/1/1/var ] then dir_file=expr $dir_file + 1 elif [ -f $1/$var ] then regular_file=`expr $regular_file + 1` fi done echo "dir_file : $dir_file" echo "regular_file : $regular_file" else echo "Not Dir!" exit fi
+11
犹豫就会败北~ 的学生作业:
#include #include #include #include // 创建两个线程,分别对全局变量进行 +1 操作,使用互斥锁 static int global=0; // pthread_mutex_t mutex=PTHREAD_MUTEX_INITIALIZER; // 静态初始化,只用于全局变量或静态存储器变量 pthread_mutex_t mutex; void *do_pthread(void *arg){ int loop = *(int *)arg; int i=0; while (i
犹豫就会败北~ 的学生作业:
#include #include #include #include // 设计一个结构 struct perosn ,包含名字与年龄,在子线程中定义结构体变量,并传递给主线程进行打印 struct person { char name[128]; int age; }; void* do_pthread_fun(void* arg) { static struct person p; printf("pthread start.\n"); strcpy(p.name, "zhangsan"); p.age = 18; pthread_exit((void*)&p); // 这个函数退出子线程,并返回值 } int main() { pthread_t tid; int ret; void* pret=NULL; // 这里定义指针要初始化 ret = pthread_create(&tid, NULL, do_pthread_fun, NULL); if (ret != 0) { fprintf(stderr, "pthread_create error: %s\n", strerror(ret)); exit(EXIT_FAILURE); } pthread_join(tid, &pret); printf("p.name = %s\n", (*(struct person*)pret).name); printf("p.age = %d\n", (*(struct person*)pret).age); return 0; }
+6
犹豫就会败北~ 的学生作业:
#include #include #include // 创建二个线程,并使两个线程分离 void* do_pthread_1(void* arg) { printf("pthread 1 start.\n"); pthread_exit(NULL); } void* do_pthread_2(void* arg) { printf("pthread 2 start.\n"); pthread_exit(NULL); } int main() { pthread_t tid_1, tid_2; int ret; ret = pthread_create(&tid_1, NULL, do_pthread_1, NULL); if (ret != 0) { fprintf(stderr, "pthread_create error: %s\n", strerror(ret)); exit(EXIT_FAILURE); } ret = pthread_create(&tid_2, NULL, do_pthread_2, NULL); if (ret != 0) { fprintf(stderr, "pthread_create error: %s\n", strerror(ret)); exit(EXIT_FAILURE); } fprintf(stdout, "[INFO] pthread_create, tid: %ld\n", tid_1); fprintf(stdout, "[INFO] pthread_create, tid: %ld\n", tid_2); pthread_detach(tid_1); pthread_detach(tid_2); while (1) { /* code */ } return 0; }
+6
犹豫就会败北~ 的学生作业:
#include #include #include // 创建两个子线程,并打印两个子线程的 tid void *do_pthread_func_a(void* arg) { printf("child pthread a start execute.\n"); pthread_exit(NULL); } void *do_pthread_func_b(void* arg) { printf("child pthread b start execute.\n"); pthread_exit(NULL); } int main() { pthread_t tid_a, tid_b; int ret; ret = pthread_create(&tid_a, NULL, do_pthread_func_a, NULL); if (ret != 0) { fprintf(stderr, "pthread_create error: %s\n", strerror(ret)); exit(EXIT_FAILURE); } ret = pthread_create(&tid_b, NULL, do_pthread_func_b, NULL); if (ret != 0) { fprintf(stderr, "pthread_create error: %s\n", strerror(ret)); exit(EXIT_FAILURE); } printf("child pthread a id: %ld\n", tid_a); printf("child pthread b id: %ld\n", tid_b); pthread_join(tid_a, NULL); pthread_join(tid_b, NULL); printf("master pthread end!\n"); return 0; }
+6