คำถามติดแท็ก signals

สัญญาณคือการแจ้งเตือนไปยังกระบวนการที่มีเหตุการณ์เกิดขึ้น สัญญาณบางครั้งอธิบายว่าซอฟต์แวร์ขัดจังหวะ สัญญาณมีความคล้ายคลึงกับการขัดจังหวะของฮาร์ดแวร์เนื่องจากขัดขวางขั้นตอนการทำงานปกติของโปรแกรม ในกรณีส่วนใหญ่ไม่สามารถคาดเดาได้อย่างแน่นอนว่าสัญญาณจะมาถึงเมื่อใด มีการกำหนดไว้ในมาตรฐาน C และขยายใน POSIX แต่ภาษา / ระบบการเขียนโปรแกรมอื่น ๆ อีกมากมายก็ให้การเข้าถึงเช่นกัน

2
โค้ดตัวอย่างของ IBM ฟังก์ชั่นที่ไม่ใช่ผู้เข้าร่วมใหม่ไม่ทำงานในระบบของฉัน
ฉันกำลังศึกษาเรื่องการเขียนโปรแกรมอีกครั้ง บนเว็บไซต์ของ IBM (อันนี้ดีจริงๆ) ฉันได้ก่อตั้งรหัสแล้วคัดลอกด้านล่าง มันเป็นรหัสแรกที่นำมาลงเว็บไซต์ รหัสพยายามแสดงปัญหาที่เกี่ยวข้องกับการเข้าถึงตัวแปรในการพัฒนาเชิงเส้นของโปรแกรมข้อความ (asynchronicity) โดยการพิมพ์ค่าสองค่าที่เปลี่ยนแปลงตลอดเวลาใน "บริบทอันตราย" #include <signal.h> #include <stdio.h> struct two_int { int a, b; } data; void signal_handler(int signum){ printf ("%d, %d\n", data.a, data.b); alarm (1); } int main (void){ static struct two_int zeros = { 0, 0 }, ones = { 1, 1 …
11 c  gcc  signals  x86-64  data-race 

2
การสกัดกั้นสัญญาณของระบบใน Julia
ในโปรแกรม Julia ที่ทำงานภายใต้ Linux ฉันจำเป็นต้องเปิดใช้งานแอคชั่นเฉพาะเมื่อปรับขนาดหน้าต่างคอนโซล ดังนั้นใน Julia ฉันจะตัดสัญญาณของระบบ SIGWINCH (ปรับขนาดหน้าต่าง) และแนบไปกับฟังก์ชันที่ดำเนินการตามที่ต้องการได้อย่างไร ใน Ada ค่อนข้างตรงไปตรงมาที่จะประกาศ: protected Signalhandler is procedure Handlewindowresizing; pragma Attach_Handler (Handlewindowresizing, SIGWINCH); end Signalhandler; แนวทางแก้ไขปัญหาเกี่ยวกับความคิดพื้นฐานของความคิด: ฉันพยายามใช้ห้องสมุด C ซึ่งดำเนินการตรวจสอบการหยุดชะงักของ SIGWINCH myLibrary.h void Winresize (void Sig_Handler()); myLibrary.c #include "myLibrary.h" #include <stdio.h> #include <stdlib.h> #include <signal.h> void Winresize(void sig_handler (void)) { signal(SIGWINCH, …
9 julia  signals  ada 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.