⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 threadtest1.c

📁 b树实现源码,linux和unix下运行,速度快,极好用
💻 C
字号:
#include <stdlib.h>#include <pthread.h>#include <unistd.h>#include <stdio.h>#include <CSql.h>void* print_message_function (void *ptr);int flag=0;int main (int argc, char **argv){  Connection conn;  DbRetVal rv = conn.open("root","manager");  if (rv != 0) return 1;  pthread_t thread1, thread2;  char *message1 = "Thread 1";  char *message2 = "Thread 2";  int status1, status2;  pthread_create (&thread1, NULL,		  &print_message_function, (void *) message1);  pthread_create (&thread2, NULL,		  &print_message_function, (void *) message2);  pthread_join(thread1, (void **)&status1);  pthread_join(thread2, (void **)&status2);  DatabaseManager *dbMgr = conn.getDatabaseManager();  if (dbMgr == NULL) { printf("Auth failed \n"); conn.close(); return NULL; }  rv = dbMgr->dropTable("t1");  if ( rv != OK ) return 2;  rv = conn.close();  if (rv != 0) return 3;  if( 1 == (status1 + status2) ) return 0;  else return -1;}void* print_message_function(void *ptr){    //if (flag == 0) {flag =1; sleep(2); }    Connection conn;    DbRetVal rv=conn.open("root","manager");    if(rv!=OK)    {       printf("Thread Return value of open %d %d\n", rv, getpid());       return NULL;    }    DatabaseManager *dbMgr = conn.getDatabaseManager();    if (dbMgr == NULL) { printf("Auth failed\n"); conn.close(); return NULL;}    TableDef tabDef;    tabDef.addField("f1", typeInt);    tabDef.addField("f2", typeInt);    rv = dbMgr->createTable("t1", tabDef);    if (rv != OK) { printf("Table creation failed\n"); conn.close(); return (void*) 1; }    printf("Table created %d %lu\n", os::getpid(), os::getthrid());    rv = conn.close();    if (rv != OK) { printf("Thread Return value of close %d %d\n", rv, getpid()); }     return NULL;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -